解决 failed to push some refs to 远程仓库 的问题
以下是我将本地的项目托管到我的github上的流程
- 在github新建一个仓库,并且勾选了红色方框
- git init 初始化本地仓库
- git add . 将工作区的文件提交到暂存区
- git commit -m message 将暂存区的文件提交到本地仓库
- git remote add origin https://github.com/xxx.git 连接我刚刚建的远程仓库
- git push -u origin master 将本地仓库文件推送到远程仓库
本以为到这里就顺利结束了,没想到出现了小插曲,提示以下错误信息
分析一下报错的原因
github中的README.md文件不在本地代码目录中,这就相当于两条并行线,我们需要github上的项目先pull下来与本地项目合并成一条线。我执行了git pull 以后出现以下提示信息。说明这两条分支没有共同的commit,因此想到rebase 变基,让当前所在的分支继承模板的commit。
这里需要了解 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上重新创建一个仓库,记得不要勾选上文提到的选项,可以省去很多麻烦。