【问题标题】:TFS Merge by File VersionTFS 按文件版本合并
【发布时间】:2012-02-08 08:34:03
【问题描述】:

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

Is it okay to merge individual files from one branch to another

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

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

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

提前谢谢大家!

【问题讨论】:

    标签: version-control tfs visual-sourcesafe


    【解决方案1】:

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

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

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

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

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

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

    【讨论】:

    • 啊,“部分合并”变更集。这就是我想知道的。我想知道它是如何处理拆分变更集的……或者是否有可能。因此,如果我通过 GUI 中的“最新版本”合并,我是否会永久谴责自己“提示合并其余变更集”?这些部分合并还有其他缺点吗?
    • 如果你在更高级别合并会提示你,例如您有一个变更集,其中包含 2 个单独文件夹中的文件。您合并其中 1 个文件夹的更改,如果再次合并同一文件夹,您将不会收到提示。如果您在根目录或其他文件夹合并,系统会提示您。
    猜你喜欢
    • 1970-01-01
    • 2013-04-27
    • 1970-01-01
    • 1970-01-01
    • 2015-12-15
    • 2011-08-17
    • 2020-08-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多