这很可能是一个众所周知的事实,即当您从一个分支合并/发布变更集时,您不是在发布在该变更集中所做的更改,而是在发布该变更集中的所有文件中的所有更改。
这意味着,如果变更集10和11修改了file1.cs,并且我决定将变更集11合并到其他分支,那么它实际上也将包含由变更集10完成的file1.cs文件中的更改。
话虽如此,我如何让TFS确保不会发生这种情况,或者在发生这种情况时警告我?
发布于 2018-08-09 14:45:43
这是有道理的,假设合并变更集的工作方式就像您所说的那样,当您合并两个分支时,为了确保所有变更都合并了,您需要保留合并每个生成的变更集或一次合并多个变更集,您还必须确保不会丢失任何变更集。现在,您只需合并最新的单个变更集。
要实现所需的功能,唯一的解决方法是手动执行。您可以首先比较变更集10和变更集11的差异,然后手动合并差异。这应该能起到作用。
发布于 2018-08-10 07:08:19
在您的示例中:
file1.cs添加了FunctionA变更集10
file1.cs添加了FunctionB变更集11
当与Changeset11从一个分支合并到另一个分支时,通常TFS会显示存在冲突,并给出选项take --> Target or source version。以及使用合并更改工具的选项。我通常使用合并更改工具来决定需要什么。是的,它是手动的。
https://stackoverflow.com/questions/51754292
复制相似问题