这很可能是一个众所周知的事实,即当您从一个分支合并/释放变更集时,您不是在发布在该变更集中所做的更改,而是释放该变更集中所有文件中的所有更改。
这意味着,如果 file1.cs 被变更集 10 和 11 修改,并且我决定将变更集 11 合并到其他分支,它实际上也会包含由变更集 10 完成的 file1.cs 文件中的更改。
话虽如此,我如何让 TFS 使 ure 不会发生或在发生时警告我?
要实现所需的内容,唯一的解决方法是手动执行合并。您可以先比较变更集 10 和变更集 11 的差异,然后手动合并差异。这应该可以解决问题。
在您的示例中:
file1.cs 添加了函数 A 变更集 10
file1.cs 添加了函数 B 变更集 11
当与变更集 11 从一个分支合并到另一个分支时,通常 TFS 显示存在冲突并给出选项采取 --> 目标或源版本。还可以使用合并更改工具的选项。我通常使用合并更改工具来决定需要什么。是的,它是手动的。