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

时间:2015-07-30 23:51:10

标签: git merge fast-forward

我有两个分支,devnextnext分支dev。当我对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提交了一次提交,但是当我尝试将其合并到next git merge --ff-only dev时,它表示快进是不可能的。当分支刚刚同步时,情况怎么样呢?

1 个答案:

答案 0 :(得分:1)

dev合并到next后,您只会next更新dev,但您没有更改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.