谷歌搜索和特定的库存溢出搜索都没有找到我这个问题的人。
在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"
然后,目标分支的工作空间将包含两个变更集的更改,现在您可以在目标分支中将合并作为一个变更集签入。