如何合并两个变更集(TFS)

时间:2010-10-11 11:51:01

标签: .net tfs merge tfs2005

alt text

您会看到162489和162990,如何合并?

4 个答案:

答案 0 :(得分:27)

我猜你想把这两个特定的变更集合并到另一个分支中。

您不能一次合并多个变更集,除非变更集按顺序排列。

使用tf命令行工具,通过使用波形符分隔版本来指定版本范围。

tf merge /recursive /version:C162489~C162990 "$/SourceBranch" "$/TargetBranch"

在这种情况下,还将包括更改162987和162967。

如果您在Visual Studio中使用UI,则合并对话框将阻止您选择多个单独的更改集,除非它们按顺序排列。

要将两个单独的变更集合并到另一个分支中,您必须分两步完成:
合并162489然后162990(从合并最旧的变更集开始,以防两个变更集包含对相同文件的更改)。

然后,目标分支的工作空间将包含两个变更集的更改,现在您可以将合并签入为目标分支中的一个变更集。

答案 1 :(得分:8)

在TFS合并帮助中 - http://msdn.microsoft.com/en-us/library/bd6dxhfy(v=VS.100).aspx   - ,您在第二个示例中看到如何合并一个变更集:

合并/版本:C137~C137 branch1 branch2 / recursive

这就是你追求的目标吗?

答案 2 :(得分:7)

试试这个

tf merge /recursive /version:C162489~C162489 "$/SourceBranch" "$/TargetBranch"
tf merge /recursive /version:C162990~C162990 "$/SourceBranch" "$/TargetBranch"

如果您在这些变更集中没有冲突代码更改,TFS 2010将合并连续的合并。

答案 3 :(得分:2)

合并必须以连续的方式进行。在您的情况下,合并两个不连续的变更集是不安全的,因为您可以对可以对相同文件执行的更改进行松散。这就是TFS客户端不允许您这样做的原因。