TFS-无基础合并和无序合并

TFS-无基础合并和无序合并,tfs,branching-and-merging,baseless-merge,Tfs,Branching And Merging,Baseless Merge,我们的分行在2012年TFS上遇到了棘手的情况,现在我们不确定我们的行动会产生什么结果 有问题的分支结构如下: /B----2------- / A -------1----------- \ \C---3-- 伪图大约是时间正确的-首先分支B从A分支,然后创建分支C。这些数字是有问题的变更集(实际上,我们的问题涉及每个分支上的多个变更集,但我已经简化了图表) 我们希望将变更集3从C合并到分支B。Visual Stud

我们的分行在2012年TFS上遇到了棘手的情况,现在我们不确定我们的行动会产生什么结果

有问题的分支结构如下:

       /B----2-------
      /
A -------1-----------
            \
             \C---3--
伪图大约是时间正确的-首先分支B从A分支,然后创建分支C。这些数字是有问题的变更集(实际上,我们的问题涉及每个分支上的多个变更集,但我已经简化了图表)

我们希望将变更集3从C合并到分支B。Visual Studio警告我们将执行无基础的合并(显然,因为分支B和C是兄弟而不是父子)。警告是这样的:

我们继续合并。后来,一位开发人员发现,我们忘记了从分支A更新分支B,我们需要从分支B中的变更集1进行更改。但问题是,变更集1有一些代码行,这些代码行后来在我们合并的变更集3(分支C)中进行了修改

现在的问题是,在将变更集3从C合并到B之后,当我们将变更集1从A合并到B时,分支B会发生什么

当TFS发现变更集1的冲突代码行时,即使在我们进行了无基础合并之后,TFS是否会足够聪明地保留来自最新变更集3的更改


另外,我们将从这个错误中吸取教训,并在将来尽量避免毫无根据的合并…

从您的图表中,1似乎已经包含在分支C中。因此,当您从“C”合并到“B”时,更改已经包括更改集1的更改。

这不像TFS在执行合并时自动提交合并—您总是有机会在签入之前查看更改。因此,对我来说,回答“当我尝试这个合并时会发生什么”问题的最简单方法是实际执行合并并查看发生了什么。这没有发生,因为我在合并到B时只从C分支中选取了变更集3。我不想将整个C合并到B,只想将一些变更集合并到B。我明白了。当涉及到获取一些变更集时,是否包含来自变更集1的变更取决于变更集1和您合并的变更集之间的重叠。为了回答您的问题,对于这些文件,将包括更改集1的更改。