解决 failed to push some refs to 远程仓库 的问题

以下是我将本地的项目托管到我的github上的流程

  • 在github新建一个仓库,并且勾选了红色方框

解决 failed to push some refs to 远程仓库 的问题

  • git init 初始化本地仓库
  • git add . 将工作区的文件提交到暂存区
  • git commit -m message 将暂存区的文件提交到本地仓库
  • git remote add origin https://github.com/xxx.git 连接我刚刚建的远程仓库
  • git push -u origin master 将本地仓库文件推送到远程仓库

本以为到这里就顺利结束了,没想到出现了小插曲,提示以下错误信息

解决 failed to push some refs to 远程仓库 的问题

分析一下报错的原因

github中的README.md文件不在本地代码目录中,这就相当于两条并行线,我们需要github上的项目先pull下来与本地项目合并成一条线。我执行了git pull 以后出现以下提示信息。说明这两条分支没有共同的commit,因此想到rebase 变基,让当前所在的分支继承模板的commit。

解决 failed to push some refs to 远程仓库 的问题
这里需要了解 git pull 与 git pull --rebase 区分详解
git pull = git fetch + git merge
git pull --rebase = git fetch + git rebase

解决方案有两种

方案一

  • git pull --rabase origin master
  • 有冲突要先解决冲突,这时Git会停止rebase
  • git add 解决 冲突的文件
  • git rebase --continue(不用git commit )
  • git push -u origin master

方案二

  • 在github上重新创建一个仓库,记得不要勾选上文提到的选项,可以省去很多麻烦。