可能重复:
master branch and 'origin/master' have diverged, how to 'undiverge' branches'?
我用Google搜索并阅读了很多帖子,但没有一个能让我理解分支差异问题。
如果我有远程跟踪分支,我经常会遇到以下情况:
$ git status
# On branch feature/worker-interface
# Your branch and 'origin/feature/worker-interface' have diverged,
# and have 1 and 4 different commit(s) each, respectively.
任何人都可以有任何好的和明确的建议或指出关于这个git问题的好帖子吗?
答案 0 :(得分:1)
首先,您可以使用 cherry 命令查看分支之间的提交有何不同,以及以何种方式。因此,在这种情况下,运行git cherry origin/feature/worker-interface
会向我们显示当前分支上的提交状态以及它们与origin/feature/worker-interface
的堆叠方式。
你会发现1个你忘了犯的回购。
现在,让我们看看发生了什么'origin / feature / worker-interface'及其提交。为此,我们可以使用特殊格式git log ..origin/feature/worker-interface --oneline
运行 log 命令
在这里,我们看到4个不在当前分支中退出的提交
所以现在我们已经知道发生了什么。你已经在你的本地主分支上做了1次提交,看起来origin/feature/worker-interface
上有4个你还没有合并的提交。所以,你可以盲目地将事情合并在一起并继续前行(如果他们合并没有冲突),但我想告诉你
如何以更加可控的方式处理它。
git checkout -b local_changes
git checkout feature/worker-interface
git status
的状态,系统会提示您无提交