压缩合并后仍然比较已提交的差异

5
我使用“压缩合并”的方式将一个名为develop的分支合并到了main分支。假设有提交A、B和C从develop合并到了main,更改已经成功合并。我可以看到在main分支上的压缩合并提交以及文件已更新。
之后,我从develop分支创建了一个新分支(b-new),并将其合并到了develop。然而,当我尝试再次将maindevelop同步时,仍然可以看到旧的差异(提交A、B、C)。如何解决这个问题?
清理步骤如下:
  • PR #1:将提交A、B、C从develop合并到main
  • PR #2:将b-new合并到develop
  • PR #3:再次将develop合并到main(我现在卡在了旧差异上)
  • 我无法直接将更改推送到main而不需要获得1个批准
  • 更改不会影响他人,所以不必担心。
谢谢。
1个回答

9
这种情况下,如果你有两个长期运行的分支并使用合并压缩,Git FAQ中详细描述了该场景。大致上,答案是,如果你在两个长期运行的分支上使用合并压缩,那么你将面临痛苦的世界,而且无法避免。
如果develop是一个功能分支,那么为了避免看到这些提交,你应该每次都从main重新创建它,可以通过首先删除它或使用git checkout -B develop main来实现。如果developmain一起作为长期运行的分支,则不应使用合并压缩。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接