文章讨论了使用Git推送代码至远程仓库时可能遇到的几种常见问题及其解决方案。包括本地与远程仓库不一致时的三种处理方法:使用rebase合并冲突、允许不相关历史提交合并、强制推送。每种方法都详细说明了操作步骤及适用场景,旨在帮助开发者高效解决Git推送过程中的问题。
本地仓库与远程仓库不一致
如果本地仓库与远程仓库不一致,那么所有本地操作都是和之前一致的。唯一不同的就是最后拉取和推送的时候会因为本地仓库与远程仓库不一致造成各种报错。解决方法自然是将本地库和远程库同步为一致即可。
图文说明:
git pull报错:
fatal: refusing to merge unrelated histories
git push报错:
![rejected]
master -> master (non-fast -forward)
error: failed to push some refs to g1 thub. com: ooahz/webspider.git
或者:
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
这里有三个解决方案:
方法一
和上面的的IDEA的解决方法一样,使用rebae。
$ git pull --rebase origin master
将远程仓库更新合并到(pull=fetch+merge)本地库中,rebase表示本地库的上一次commit移接到pull后的本地库中
图片说明:
使用该命令后,如有冲突,会提示合并冲突,手动合并冲突后即可正常进行后续的push操作。
合并冲突后输入命令,检查是否完成:
git rebase --continue
然后正常提交
方法二
$ git pull origin master --allow-unrelated-histories
allow-unrelated-histories表示允许不相关历史提交,强制合并
同样也是在合并过程中需要手动合并冲突
合并冲突后输入命令,检查是否完成:
git rebase --continue
方法三
$ git push --force origin master
force表示强制提交
版权声明
本文依据
CC-BY-NC-SA 4.0
许可协议授权,请您在转载时注明文章来源为
Z次元
,若本文涉及转载第三方内容,请您一同注明。
知识积累
人非生而知之者,孰能无惑?惑而不从师,其为惑也,终不解矣。
评论区
发表评论
这里还没有评论哦
快来发一条评论抢占前排吧
本地仓库与远程仓库不一致
方法一
方法二
方法三