git报错can't push refs to remote. Try running "Pull" first to integrate to your changes

发布时间 2023-08-16 17:12:33作者: _a_yang

0 前言

  这是我在使用git提交代码到GitHub上时遇到的一个报错,刚遇到此问题,内心充满了恐惧,不知如何解决,花了不少时间查资料,因此有必要在此记录一下,同时希望可以为读者提供一定参考。

1 该错误出现的时期

  在远程创建空仓库,然后本地写一些代码,尝试提交到远程时,出现标题所指的错误。

2 原因

  其实就是代码冲突,因为我提交的是子文件里的代码,远程有与其并列的子文件的代码,然后我又创建一个子文件,尝试提交远程就导致了远程和本地代码不一致情况(也即冲突)。

场景一

你 commit 了你修改的代码,但是别人在你修改期间 push 了最新代码,此时你再 push 就会因为代码冲突报错

没懂不要紧,下面用图片再演示一遍

  • 远程库添加绿色更新,但本地没有同步
  • 本地库添加红色更新,并想提交到远程库,冲突导致失败

git pull –rebase origin master 意为先取消 commit 记录,并且把它们临时 保存为补丁(patch)(这些补丁放到 ”.git/rebase”目录中),之后同步远程库到本地,最后合并补丁到本地库之中。

  • 此时使用git pull --rebase origin main
  • 接下来就可以把本地库 push 到远程库当中了。

场景二

  我发现网上还有这样一种原因:创建仓库时,勾选了README.MD文件,因为勾选后,当点击创建仓库时,它会帮我们做一次初始提交,因此我们在关联本地与远程时,两端都是有内容的,但是这两份内容并没有联系,当我们推送到远程或者从远程拉取内容时,都会有没有被跟踪的内容,于是你看git报的详细错误中总是会让你先拉取再推送,但是拉取总是失败。
于是我通过对照实验进行验证,果然报错!

  • github上创建带有README.MD的仓库

  • 创建空项目

  • 随便print一下

然后我对照一下创建一个空仓库验证一下

  • github上创建空仓库

  • 重新添加远程库test2

  • 提交成功

  通过对照实验,可以看出创建带有README.MD文件的仓库,提交代码时也会导致代码冲突,报出标题所示的错误。

总结

  以上便是笔者分享的全部内容喽! 笔者主要分享了git报错can't push refs to remote. Try running "Pull" first to integrate to your changes的原因:代码冲突, 希望本篇博客能够帮到读者,谢谢大家的观看!感谢!

参考

  1. https://huaweicloud.csdn.net/63a570e1b878a545459474b0.html?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7Eactivity-1-109855178-blog-97565768.235%5Ev38%5Epc_relevant_anti_t3&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7Eactivity-1-109855178-blog-97565768.235%5Ev38%5Epc_relevant_anti_t3&utm_relevant_index=1

  2. https://blog.csdn.net/k909397116/article/details/113385765?ops_request_misc=&request_id=&biz_id=102&utm_term=can%27t%20push%20refs%20to%20remote.%20Try&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-3-113385765.nonecase&spm=1018.2226.3001.4187

  3. https://blog.csdn.net/Ever69/article/details/97565768?spm=1001.2101.3001.6650.4&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-4-97565768-blog-123008513.235%5Ev38%5Epc_relevant_anti_t3&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-4-97565768-blog-123008513.235%5Ev38%5Epc_relevant_anti_t3