首页 > 解决方案 > git合并重复提交

问题描述

我的情况如下:

我在分支 A 上工作。在分支 B 上工作的人做了一些更改,我需要在分支 A 上继续开发。我最终签出到分支 B,拉取他​​们的更改,检查回分支 A 并进行 git 合并。现在,在 github 上,我更改的文件包括他们的文件,我的提交历史记录包括他们来自分支 B 的提交历史记录。为什么会发生这种情况是有道理的,但是我如何恢复这个/下次解决这个问题?

标签: gitmergebranch

解决方案


这是 的预期行为git merge

假设情况:

A---B---C---D---E---F branch-A
     \         /
      X---Y---Z branch-B

合并后,您会看到如下日志:

A---B---X---C---Y---D---Z---E---F---(merge commit) branch-A

如果您不想看到合并提交并且仍然看到您的队友提交,您可以使用git rebase.

如果您根本不想看到队友的提交,您可以使用git merge --squash它实际合并两个分支,而无需创建合并提交,因此无需合并两个日志历史记录。


推荐阅读