Version control TFS按文件版本合并

Version control TFS按文件版本合并,version-control,tfs,visual-sourcesafe,Version Control,Tfs,Visual Sourcesafe,不久前我发布了一个关于合并单个文件的缺点的问题 发布的答案说我应该通过变更集而不是文件版本来完成。然而,我一直在读到,通过变更集合并(cherry picking)是一个非常糟糕的主意。除非您真正了解每个变更集的内容以及TFS如何存储增量,否则最终可能会得到您不打算进行的合并 在从VSS到TFS的迁移过程中,我试图说服我的团队,我们应该只在分支级别进行合并。然而,我缺少一个很好的例子来说明按文件版本合并的潜在影响。任何人都可以解释或提供一个很好的链接,指向按文件版本(不一定是变更集)合并的信息

不久前我发布了一个关于合并单个文件的缺点的问题

发布的答案说我应该通过变更集而不是文件版本来完成。然而,我一直在读到,通过变更集合并(cherry picking)是一个非常糟糕的主意。除非您真正了解每个变更集的内容以及TFS如何存储增量,否则最终可能会得到您不打算进行的合并

在从VSS到TFS的迁移过程中,我试图说服我的团队,我们应该只在分支级别进行合并。然而,我缺少一个很好的例子来说明按文件版本合并的潜在影响。任何人都可以解释或提供一个很好的链接,指向按文件版本(不一定是变更集)合并的信息

我不确定的是,如果按文件版本合并,是否仍在合并与该文件版本关联的变更集?如果这些更改集影响其他文件,这些文件是否会更改


提前谢谢各位

TFS没有文件版本的概念。如果要合并特定文件的特定版本,必须结合使用文件名和变更集,如

tf merge$/TP/Branch1/file1.cs$/TP/Branch2/file1.cs/版本:C1234

通过选择文件,右键单击并合并,您可以使用GUI执行相同的操作。在合并向导中,从下拉列表中选择“所选变更集”,而不是“最新版本”(您可以在文件夹级别执行相同的操作)

如果以这种方式合并,TFS会记住变更集已部分合并,并在下次合并时提示您合并变更集的其余部分

可以通过使用查看部分合并


tf merge$/TP/Branch1$/TP/Branch2/recursive/candidate
列表中任何旁边带有*的变更集已经部分合并了

Ahh,“部分合并”变更集。这就是我想知道的。我想知道它是如何处理拆分变更集的。。。或者如果可能的话。因此,如果我通过GUI中的“最新版本”进行合并,我会永久性地谴责自己“提示合并其余更改集”吗?这些部分合并是否还有其他缺点?如果您在更高级别进行合并,例如,您有一个变更集,其中包含两个单独文件夹中的文件,则系统会提示您。合并其中一个文件夹中的更改,如果再次合并同一文件夹,则不会出现提示。如果在根目录或其他文件夹处合并,系统将提示您。