在visualstudio中合并文件时,我使用三向合并工具。在visual studio选项的Source Control
>Visual Studio Team Foundation Server
>Configure User Tools
下,我可以选择在中添加一个Base file
(%3)作为要传递到合并工具的参数。
Visual Studio/TFS如何计算出基本文件是什么?
如果我将文件X从分支A合并到分支B,我的想法是否正确:
modified file
是我正在从分支A合并的变更集中的文件Xoriginal file
是上一个变更集中的文件X,其中文件X在分支B中进行了更改base file
是来自最新变更集的文件X,其中文件X在我正在合并的变更集之前已签入
这个逻辑正确吗?
"基本文件"通常被称为"共同祖先"。这是两个分支中最近存在的文件X
的版本。
当您第一次创建某个分支时,假设$/A
到$/B
作为变更集10,则文件X
尚未在任何一个分支中修改。在这种情况下,公共祖先等于分支$/A
和$/B
中的两个版本。
如果您将$/A/x
更改为变更集11,将$/B/x
更改为变更集中12,那么您的共同祖先将保留为变更集10。这将允许您确定每个分支是如何独立于基础进行更改的。
现在,当您作为变更集13执行从$/B
到$/A
的合并时,您认为x
已被合并,并且公共祖先重置。随后的合并操作将变更集13作为新的基础,从而只有在两个分支中进行的后续更改才会被合并。