【发布时间】:2011-04-23 18:48:23
【问题描述】:
你看到 162489 和 162990,我该如何合并它们?
【问题讨论】:
-
目前还不清楚您想对这些变更集做什么。您是否只想将这些变更集中的变更合并到另一个分支,而忽略所有其他变更?
你看到 162489 和 162990,我该如何合并它们?
【问题讨论】:
我猜你只想将这两个特定的变更集合并到另一个分支中。
您不能一次合并多个变更集,除非变更集是按顺序排列的。
使用tf 命令行工具,您可以通过用波浪号分隔版本来指定一系列版本。
tf merge /recursive /version:C162489~C162990 "$/SourceBranch" "$/TargetBranch"
在这种情况下,更改 162987 和 162967 也将包括在内。
如果您在 Visual Studio 中使用 UI,则合并对话框将阻止您选择多个单独的变更集,除非它们是按顺序排列的。
要将两个单独的变更集合并到另一个分支中,您必须分两步完成:
合并 162489 和 162990(首先合并最旧的变更集,以防两个变更集都包含对相同文件的更改)。
然后目标分支的工作区将包含两个变更集的更改,现在您可以将合并作为目标分支中的一个变更集签入。
【讨论】:
在 TFS 合并帮助中 - http://msdn.microsoft.com/en-us/library/bd6dxhfy(v=VS.100).aspx -,您在第二个示例中看到如何合并一个变更集:
tf merge /version:C137~C137 branch1 branch2 /recursive
这就是你所追求的吗?
【讨论】:
试试这个
tf merge /recursive /version:C162489~C162489 "$/SourceBranch" "$/TargetBranch"
tf merge /recursive /version:C162990~C162990 "$/SourceBranch" "$/TargetBranch"
如果您在这些变更集中没有冲突代码更改,TFS 2010 将合并连续的合并。
【讨论】:
合并必须以连续的方式进行。在您的情况下,合并两个不连续的变更集是不安全的,因为您可能会丢失可以对相同文件进行的更改。这就是 TFS 客户端不允许您这样做的原因。
【讨论】: