在对本地库中的文件执行修改后,想git push推送到远程库中,结果在git push的时候提示出错:
$ git push gitee master(gitee是我的远程仓库名)
To gitee.com:username/repositoryname.git
! [rejected] master -> master (fetch first)
error: 无法推送一些引用到 'git@github.com:GarfieldEr007/XXXX.git'
提示:更新被拒绝,因为您当前分支的最新提交落后于其对应的远程分支。
提示:再次推送前,先与远程变更合并(如 'git pull ...')。详见
提示:'git push --help' 中的 'Note about fast-forwards' 小节。
原文如下:
error: failed to push some refs to 'git@gitee.com:idool/server.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
解决方案:
因为当前分支的最新提交落后于其对应的远程分支,所以我们先从远程库fetch到更新再和本地库合并,之后就可以git push操作了。
git remote add gitee https://gitee.com/username/repositoryname.git
$git fetch origin
$git merge origin/master
在执行最后一步时出现:fatal: refusing to merge unrelated histories
可执行:git pull gitee master --allow-unrelated-histories命令即可