15

替代文字

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

4

4 回答 4

28

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

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

使用tf命令行工具,您可以通过用波浪号分隔版本来指定一系列版本。

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

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

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

要将两个单独的变更集合并到另一个分支中,您必须分两步进行:
合并 162489 和 162990(首先合并最旧的变更集,以防两个变更集都包含对相同文件的更改)。

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

于 2010-10-11T19:17:35.043 回答
9

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

tf merge /version:C137~C137 branch1 branch2 /recursive

这就是你所追求的吗?

于 2010-10-11T18:15:40.873 回答
7

试试这个

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

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

于 2013-02-04T05:29:05.640 回答
2

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

于 2010-10-11T19:24:40.923 回答