赞
踩
git push
远程仓库时,经常报出如下错误,导致无法将本地仓库中的内容提交到远程仓库。
首先,报出错误:non-fast-forward
其次,根据我们在连接远程仓库时,执行的配置命令
$ git remote add <远程仓库的别名alias> <远程仓库的url>
可以得出,远程仓库:origin
然后,远程分支:master
最后,本地分支:master
首先,根据 Git 提示 hint: 'git pull ...') before pushing again.
,执行 git pull
命令把最新的内容从远程分支(origin/master)拉下来
$ git pull
然而,会报出如下错误,并给出提示:
这是因为没有指定本地 master 分支和远程 origin/master 的连接
然后,根据提示,执行 git branch --set-upstream-to=origin/master master
,创建本地 master 分支和远程 origin/master 分支的连接
$ git branch --set-upstream-to=origin/master master
接着,在命令行执行 git pull
,进行代码的拉取:
$ git pull
可能还会报出其他错误,如图所示:
此错误,是由于本地仓库和远程有不同的开始点,也就是说,本地仓库和远程仓库没有共同的 commit
而出现的无法提交。
因此,需要使用在执行 git pull
时,添加 --allow-unrelated-histories
参数,命令如下:
$ git pull --allow-unrelated-histories
另外, 也可以不设置默认分支,直接执行 git pull origin master
:
$ git pull origin master
但还可能产生其他 conflict
,如图所示:
此时,需要自己手动解决冲突再 merge
,这里不再多加赘述。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。