TFS 无基础合并包含变更集中未更改的文件

TFS baseless merge contains unchanged files in changset

我正在分支 B 和 C 之间进行无基础的合并,因为我们不想去主干和向下。 B 和 C 是最新的所有中继更改。

在我 Visual Studio 2013 年进行无基础合并之前,我比较了两个分支,它说比较了 6220 个文件(150 个不同,179 个仅在源中,213 个仅在目标中),所以我很高兴。

即使在我进行了合并之后,它仍然有大约 100 多个冲突需要解决,但让我担心的是变更集有 6000 多个文件,所以很明显,如果我签入,TFS 会签入也没有更改的文件。

是否有一个选项可以使 最终合并的变更集仅包含不同的文件 + 仅在源文件中 + 仅在目标文件中

这是我所做的合并并避免变更集中未更改的文件

  1. 排除所有新添加的仅在源中的文件(幸运的是我有整个列表)
  2. 撤消您的待定更改。当您看到确认对话框时,选择 "No to all"。 Visual Studio 需要一些时间来处理,最终会得到仅更改过的文件。
  3. 然后包括在步骤 1 中排除的新添加的文件

这是正常现象。当您执行无基础合并时,解决方案中的每个文件都被标记为已更改,并在签入期间列在待定更改中。没有选项可以让您简单地进行合并来实现您的要求。

但是,您可以尝试以下解决方法 undo your pending changes. When you get the confirmation dialog choose "No to all". Only your pending changes should be left.来自这个问题 Files listed as pending changes when doing merges that didn't change?
注意:当您只对文件进行更改时,这会起作用。它不会合并您添加的任何新文件。