对git分支分歧问题有良好且清晰的理解?

对git分支分歧问题有良好且清晰的理解?,git,github,Git,Github,可能重复: 我在谷歌上搜索并阅读了许多帖子,但没有一篇能让我理解分支分歧问题 如果我有远程跟踪分支,我通常会进入以下领域: $ 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问题,

可能重复:

我在谷歌上搜索并阅读了许多帖子,但没有一篇能让我理解分支分歧问题

如果我有远程跟踪分支,我通常会进入以下领域:

$ 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问题,有人能提供一些好的、明确的建议或发表好的文章吗?

首先,您可以使用cherry命令查看分支之间的提交有什么不同,以及在哪些方面有什么不同。因此,在本例中,运行
git-cherry-origin/feature/worker-interface
可以显示当前分支上的提交状态,以及它们如何与
origin/feature/worker-interface
相对应。 您将发现1个您忘记提交的回购

现在,让我们看看“origin/feature/worker接口”及其提交发生了什么。为此,我们可以运行一个特殊格式的
git log的log命令。origin/feature/worker接口--oneline

这里我们看到4个提交在当前分支中不存在

所以现在我们对发生的事情有了一个很好的了解。您已经在本地主分支上进行了1次提交,并且在
origin/feature/worker interface
上似乎有4次提交,您还没有合并到其中。所以,你可以盲目地把事情合并在一起,然后继续你的路(如果它们合并时没有冲突),但我想告诉你 如何以更可控的方式处理它

  • 首先,创建一个指向当前负责人的分支:
    git checkout-b local\u changes
  • 现在,为了跟踪这些更改,我们切换回功能/工作接口:
    git签出功能/工作接口
  • 此时,重置功能部件/工作接口分支以摆脱1提交
  • 好了!您可以检查分支的状态
    git status
    系统将提示您无需提交任何内容