仍然比较合并后的承诺差异

Wen*_*liL 7 git github git-merge branching-and-merging git-squash

我已经使用将一个develop分支合并到main分支中squash merge。假设有提交 A、B、C 合并到mainfrom中develop。更改已成功合并。我可以看到分支上的挤压提交main并且文件已更新。

之后,我b-new从 中创建了一个新分支 ( )develop并将其合并到develop. 但是,当我尝试再次同步时maindevelop我仍然可以看到旧的差异(提交 A、B、C)。如何解决这个问题?

清理:

  • PR #1:将提交 A、B、C 合并developmain
  • PR #2:合并b-newdevelop
  • PR #3:再次合并developmain我看到了旧的差异,现在陷入困境)
  • 未经 1 批准,我无法直接将更改推送到 main
  • 这些更改不会影响其他人,因此无需担心。

谢谢。

bk2*_*204 10

Git FAQ 中详细描述了这种情况,即您有两个长时间运行的分支并使用压缩合并。粗略地说,答案是,如果您将挤压合并与两个长期存在的分支一起使用,那么您注定会陷入痛苦的世界,并且没有办法避免它。

如果develop打算成为功能分支,那么为了避免看到这些提交,您应该main每次都重新创建它,要么先删除它,要么使用git checkout -B develop main. 如果develop打算与 一起成为长期运行的分支main,那么您不需要使用压缩合并。