我有两个分支,dev
和next
,next
分支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
时,它表示快进是不可能的。当分支刚刚同步时,情况怎么样呢?
答案 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.