1

我有两个分支,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合并时,它说快进是不可能的。当分支刚刚同步时,怎么会出现这种情况?nextgit merge --ff-only dev

4

1 回答 1

3

当您合并devnext时,您只是next更新了dev,但您根本没有改变dev。这意味着dev没有所有的nexts 变化。

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

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

在我的示例中,dev包含 A、B 和 C,而next包含 A、B、C、D、E 和 F。因此,如果没有合并提交,您将无法合并devnext,因为您将丢失 D、E 和 F。

于 2015-07-31T03:10:58.600 回答