“最新的” Git消息不正确

时间:2019-02-09 21:57:02

标签: git merge

假设我有一个主分支[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]更新的分支,但是它说“已经是最新的”。

0 个答案:

没有答案