Git 不会快进合并,即使两个分支应该同步



我有两个分支,devnext,其中nextdev分支出来。分支有一点分歧,所以当我对dev进行热修复时,我按照预期将更新合并到next中。分支上的最新提交如下:

// dev
123455 Latest dev commit
123454 Earlier dev commits...
// next
123456 Merge branch 'dev' into next
123455 Latest dev commit
123454 Earlier dev and next commits...

现在我又提交了一个dev,但是当我试图将它合并到nextgit merge --ff-only dev时,它说快进是不可能的。当分支刚刚同步时,怎么会出现这种情况呢?

当您将dev合并到next中时,您只是将nextdev同步,但您根本没有更改dev。这意味着dev没有next的所有更改。

快速转发会将next分支移动到指向与dev完全相同的提交,但这会导致您丢失next更改,因此它将不起作用。

A - B - C <- dev
        
  D - E - F <- next

在我的示例中,dev包含A,B和C,而next包含A,B, C, D, E和f。因此,如果没有合并提交,您不能将dev合并到next中,因为您将丢失D, E和f。

相关内容

  • 没有找到相关文章

最新更新