当前位置:   article > 正文

Git常见问题记录:git出现“Your branch and ‘origin/master‘ have diverged”的解决方法【详细解释】_your branch have diverged

your branch have diverged


1、前言

说明您的本地子分支和master主分支已经分叉,有冲突产生!

2、最简单解决方法

如果不需要保留本地的修改,只要执行下面两步:

git fetch origin
git reset --hard origin/master
  • 1
  • 2

命令解析:
在这里插入图片描述

git fetch :命令用于从远程获取 master 主分支的最新代码库,并没有合并的操作;
git reset --hard :命令用于把本地分支代码,强制回退为 master 主分支的最新代码库,清空本地暂存区与工作区的所有修改。

3、保留本地修改的解决方法

3.1、使用如下命令:
git rebase origin/master
git pull --rebase
  • 1
  • 2

命令解析:
git rebase :顾名思义,就是重新定义(re)起点(base)的作用,命令用于把本地子分支变基到 master 主分支;
git pull --rebase :执行过程中会将本地当前分支里的每个提交 (commit) 取消掉,然后把将本地当前分支更新为最新的 master 主分支,其中:

git pull 的默认行为是 git fetch + git merge
git pull --rebasegit fetch + git rebase

3.2、执行完 git pull --rebase 之后如果有合并冲突,使用以下三种方式处理这些冲突:
git rebase --abort
git rebase --skip
git rebase --continue  合并冲突,结合"git add 文件"命令一起用与修复冲突,提示开发者,一步一步地有没有解决冲突。
  • 1
  • 2
  • 3

1、使用 git rebase --abort
执行之后,本地内容会回到提交之间的状态,也就是回到以前提交但没有 pull 时的状态,简单来说就是撤销 rebase
2、使用 git rebase --skip
git rebase --skip 引起冲突的commits会被丢弃,因此,在使用skip时请慎重。
3、使用 git rebase --continue
合并冲突,本地如果产生冲突,手动解决冲突之后,结合"git add 文件"命令一起用与修复冲突,提示开发者,一步一步地有没有解决冲突。

3.3、最后如果要提交,就把内容 push 到远程仓库上:
git push origin master
  • 1

谢谢点赞关注哈!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/559079
推荐阅读
相关标签
  

闽ICP备14008679号