我们有几个开发人员赞成TFS 2010中的手动合并,当你打开两个可视工作室时,一个是源分支,另一个是目标分支,你手动复制和粘贴你的更改。
他们这样做是因为他们认为自动合并是危险的(因为它会带来其他开发人员的变化,即使你不想这样做)。典型的测试案例如下:
来源分支:
TestFile.cs
Changesets:
1. Line 5 changed
2. Line 13 changed
目标分支:
No changes yet.
现在我想仅合并TestFile.cs的变更集#2
如果自动合并,目标分支中的结果TestFile.cs会包含哪些行:原始行5和更改的行13或者行5和13都改变了?
事实上,我已经看到了两种变体,我不知道为什么。
任何关于TFS合并如何工作的精彩描述的链接都很棒。
高级方案: 来源分支:
TestFile.cs
Changesets:
#1. Line 5 changed, Line 6 added
#2. Line 13 changed
目标分支:
No changes yet.
如果我只合并变更集#2,我应该在目标分支中得到什么?我是否只根据变更集#2更改第12行。
答案 0 :(得分:5)
如果选择合并,将打开以下对话框:
如果您只需选择“下一步”并保留默认设置=“所有更改都达到特定版本“,TFS将考虑您的两个变更集(1& 2):换句话说,它将检查目标分支中的Testfile.cs
并编辑两个第5行和第2行。 13.如果选择“选定的变更集”(如上图所示),将出现另一个对话框,您可以在其中选择您真正希望参与合并的候选变更集。因此,如果您现在选择变更集2,TFS将检查目标分支中的Testfile.cs
。仅编辑第13行。
你所描述的“手动”合并,是 - 对不起是一个冗长的 - 一种可怕的做法。
的修改
关于你的问题
高级场景:Source Branch:我是否只根据变更集#2更改第13行。答案是肯定的“是”。
一种隔离情况的方法是开始在SourceControl&中使用Playground文件夹与同事一起确定会发生什么。 TFS合并非常简单,this较旧的帖子可能对您的调查有用。
我同意您的立场“TFS错误在我的优先级列表中非常低”,另一方面亲自动手 - 我会在您的组织内调查Merge-Practice作为首要问题。在我看来,你描述的内容根本无法继续下去。