解决git push报错error: failed to push some refs to 的问题

这个问题发生的背景一般是:

想把自己本地的某个项目关联到远程仓库并推送上去,接着他会做如下操作:

本地项目—>远程创建仓库—>本地关联远程—>推送最新代码

最后一个步骤发生问题:

那么问题是怎么导致发生的呢?

拿Android项目举例,很多人在创建仓库的时候,都会勾选这个操作

初识了一个README文件并配置添加了Android项目忽略文件。当点击创建仓库时,它会帮我们做一次初始提交。于是我们的仓库就有了README.md和.gitignore文件,然后我们把本地项目关联到这个仓库,并把项目推送到仓库时,回报文章开题的那个错误,这是因为,我们在关联本地与远程时,两端都是有内容的,但是这两份内容并没有联系,当我们推送到远程或者从远程拉取内容时,都会有没有被跟踪的内容,于是你看git报的详细错误中总是会让你先拉取再推送,但是拉取总是失败。
想要避免这种问题,就要保持创建的仓库是一个空仓库,什么都没有。
并且在创建仓库时,其实Github是有提示的,相信很多人都没有注意过红框里面的小字。
Skip this step if you’re importing an existing repository.
如果要导入现有存储库,请跳过此步骤。
This will let you immediately clone the repository to your computer.
这将允许您立即将存储库克隆到您的计算机。

看到没,其实Github都已经告诉过你了,只是你没注意到。当把红框里的钩钩去掉创建仓库后,Github会给你一个提示。

再跟着给的提示在自己本地项目的跟目录里敲就行了

之后再试试把项目推送上去

ok,完事儿了,没想到让你折腾一番的问题就这么简单的解决了吧,看来真是细节不容忽视啊~

如果你没有勾选,但是远程仓库里面有之前提交的文件,也可能会造成该错误。

如果你不想重新创建项目

出错之后,运行git pull --rebase origin master,再git push(git push -u origin master)上去就可以。但是如果退出git,再次提交可能还会报错,还得运行一下。

 
安利一个在idea中使用git提交的文章:https://www.cnblogs.com/WangYunShuaiBaoLe/p/WY.html
原文地址:https://www.cnblogs.com/wwct/p/12904134.html