Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio TFS合并特定更改集-缺少更改集_Visual Studio_Tfs_Merge - Fatal编程技术网

Visual studio TFS合并特定更改集-缺少更改集

Visual studio TFS合并特定更改集-缺少更改集,visual-studio,tfs,merge,Visual Studio,Tfs,Merge,一个谷歌搜索和一个特定的stockoverflow搜索都没有发现有这个问题的人 在tfs中,我们的过程是在名为Dev的分支中进行更改,而不是稍后将特定的更改集合并到名为DevQA的分支中。(我们还有其他的分支,在这一点上不应该影响事情。)我们使用VS中可用的屏幕来实现这一点 我上周做了9个变更集(都与相同或至少重叠的代码有关),现在是时候将其中一些变更集合并到DevQA中了 这些更改显示在Dev的历史记录中,但当我选择“合并”,然后选择“特定更改集”(将源设置为Dev,将目标设置为DevQA)并

一个谷歌搜索和一个特定的stockoverflow搜索都没有发现有这个问题的人

在tfs中,我们的过程是在名为Dev的分支中进行更改,而不是稍后将特定的更改集合并到名为DevQA的分支中。(我们还有其他的分支,在这一点上不应该影响事情。)我们使用VS中可用的屏幕来实现这一点

我上周做了9个变更集(都与相同或至少重叠的代码有关),现在是时候将其中一些变更集合并到DevQA中了

这些更改显示在Dev的历史记录中,但当我选择“合并”,然后选择“特定更改集”(将源设置为Dev,将目标设置为DevQA)并单击“下一步”时,可合并的更改集列表不包括9个更改集中的7个,包括我要合并的更改集

我做了一些检查,它们似乎是唯一缺少的变更集,其他变更集要么已经合并,要么在列表中可用

我单击了其中一个变更集并使用了“跟踪变更集”和可视化选项,它显示变更集尚未合并

在这些变更集创建之后,创建了一个新的分支,该分支是从DEV分支出来的,我的变更集显示在该分支中。然而,我不认为这是相关的,因为中的其他变更集可以合并到DevQA


有什么理由不让它们出现吗?有什么方法可以解决这个问题并强制它们合并吗?

如果变更集是按顺序进行的,或者您不介意合并九个变更集范围内的其他变更集,作为一种解决方法,您可以尝试使用tf命令

使用
tf
命令行工具,可以通过使用波浪号字符分隔版本来指定版本范围

tf merge /recursive /version:C1000~C1008 "$/SourceBranch" "$/TargetBranch"
在这种情况下,变更1000和1008也将包括在内

要将多个单独的变更集合并到另一个分支中,必须分多个步骤进行:

tf merge /recursive /version:C1001~C1001 "$/SourceBranch" "$/TargetBranch"

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

您是否仅通过Visual Studio中的UI执行合并,是否尝试使用tf命令?谢谢,这正是我想要的。我仍然不明白为什么UI中的可用项会丢失它们,但现在我们知道,如果它们再次出现,我们可以合并它们:)