如何仅合并TFS中更改集中的选定文件

如何仅合并TFS中更改集中的选定文件,tfs,merge,azure-devops,branching-and-merging,azure-devops-server-2019,Tfs,Merge,Azure Devops,Branching And Merging,Azure Devops Server 2019,我需要将变更集合并到TFS中的另一个分支。但不幸的是,由于此变更集中发生了不需要的代码签入,我无法将完整的变更集合并到新分支。因此,我需要跳过变更集中不需要的文件,并将其他文件合并到新分支。有可能这样做吗?Ps:由于变更集很大,我无法手动合并它 你可以做到这一点,你将要实现的部分合并 当只有来自变更集的一些更改被合并到目标中时,将记录部分合并。在以下两种常见情况下,您可能会以部分合并结束: 场景1:检查合并文件时撤消一些挂起的更改 在这种情况下,即使我们已经将变更集Dev合并到Main,它仍然是

我需要将变更集合并到TFS中的另一个分支。但不幸的是,由于此变更集中发生了不需要的代码签入,我无法将完整的变更集合并到新分支。因此,我需要跳过变更集中不需要的文件,并将其他文件合并到新分支。有可能这样做吗?Ps:由于变更集很大,我无法手动合并它

你可以做到这一点,你将要实现的部分合并

只有来自变更集的一些更改被合并到目标中时,将记录部分合并。在以下两种常见情况下,您可能会以部分合并结束:

场景1:检查合并文件时撤消一些挂起的更改

在这种情况下,即使我们已经将变更集Dev合并到Main,它仍然是一个合并候选项。这是因为合并引擎检测到该变更集中仍有一些未从Dev传播到Main的更改

场景2:在功能级别而非分支顶部执行合并

例如:考虑有两个分支<强>主< /强>和<强> DEV>强>,它们每个都有两个文件夹(Stutur1和Stutur2),每个特征文件夹包含一个文件。我们编辑功能文件夹中的两个文件(

Dev\Feature1\Feature1.txt
Dev\Feature2\Feature2.txt
)并签入更改

如果在Feature1级别执行合并操作。(Changset142)→ Changeset143)您会注意到,在“挂起的更改”窗口中,只有在
Feature1
文件夹中完成的编辑才会合并。完成合并

如果查看Feature1文件夹的合并历史,您将看到来自变更集142的所有更改都已合并到变更集143中

然而,如果您查看Main的合并历史,您将看到只有变更集142的一部分被合并到变更集143中。这是正常的,因为变更集142有一些未交付的更改—编辑Feature2文件夹中的文件


在部分合并的情况下,找出合并了哪些更改以及遗漏了更改集中的哪些更改。实现这一点的唯一方法是区分部分合并的变更集的内容,以及合并后生成的变更集的内容。更多详细信息,请参阅本博客:

所以,如果您不需要的代码只存在一个或几个文件,那么您可以按照场景1,撤消这些文件

如果这些文件包含一些其他需要的更改,那么我建议您直接合并所有更改,并在合并操作之后创建一个新的更改集,以排除那些不需要的代码


这应该是最简单的解决方案

我不认为你能,你需要一个新的changeset@Stuart.Sklinar哦,但是有没有可能再次签入相同的变更集?