假设我有一个主分支[M]
,并且许多功能分支都来自该主分支[F1, S1]
。我希望对master分支进行全面测试,因此我从master [J]
分支出来,将 all 功能分支合并到其中,并先进行测试,然后再合并回master。这可行!我将[F1]
和[S1]
合并到[J]
,然后将[J]
合并到[M]
,一切都很顺利。
现在已经过去了一段时间,我想再次执行此操作,因此我从[M]
创建了一个新分支,将其命名为[K]
,并对新功能分支执行相同的操作。 [S1]
已更新,所以我继续将[S1]
合并到[K]
中,一切都很好。
现在开始变得有些混乱,但是下一部分的细节并不太重要。例如,[F1]
这些功能之一需要从[J]
分支中构建,因此我将[F1]
合并到[J]
中。我仍然想要[F1]
中的[K]
功能,因此我继续将[J]
合并到[K]
中。
这里需要牢记一些注意事项,[S1]
先前已合并到[J]
中。现在[S1]
已更新并合并到[K]
中,这很好用,然后将[J]
合并到[K]
中。
现在,当我要对[S1]
进行另一次更新并尝试将其合并到[K]
中时,它说[S1]
已经“最新”显然只是对其进行了更改。回顾合并历史记录,将[J]
合并到[K]
是导致此问题的原因,因为它消除了一些[S1]
的更改,但是我不确定为什么。
是什么原因导致此问题,以后我该怎么做才能避免它?
以下是该过程的快速说明:
[M]____ ____ ____[M]
\ / \ /
|\ / |\ /|
| [J] | [K] \
| | \ \
[F1, S1] [S1] | \
[J] [S1]*
其中[S1]*
是我尝试合并到的[S1]
更新的分支,但是它说“已经是最新的”。