Z次元

文章讨论了使用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表示强制提交

评论区

这里还没有评论哦

快来发一条评论抢占前排吧

目录