【问题标题】:TFS merge change set to main branchTFS 合并更改集到主分支
【发布时间】:2010-11-22 14:24:01
【问题描述】:

如果一个文件已被 10 个不同的变更集更改,不同的用户针对不同的变更集。

然后签入变更集 5 的用户决定合并他的变更。

那么变更集 1 到 4 中的更改会发生什么变化?它们会自动合并吗?

【问题讨论】:

    标签: tfs merge branch


    【解决方案1】:

    TFS 有两种合并方式(您可以在 TFS 合并对话框中选择其中一种):

    • 特定版本之前的所有更改
    • 选定的变更集

    在第二种情况下,您可以挑选您想要的任何更改,而不必合并所有其他更改集。

    【讨论】:

    • 正确。但是:实际上,您受到配置的 3 路合并工具中的算法以及更改本身的性质的限制。如果更改 1~5 都涉及给定的代码块,则樱桃采摘#5 将有效地带来对该块的所有更改。不同的工具在将文件拆分为块方面或多或少具有侵略性。 (默认工具相当保守;您将更有可能看到 #1-4 的更改,权衡是省略了更少的依赖项)当然,您将有机会在解决之前查看冲突。加上通常的构建/测试/签入政策周期。
    • 我意识到这是一个非常古老的答案,但您已经触及了一些对我(和其他人?)来说似乎很重要的东西。如果变更集 5 确实触及了与 1~4 中的某些变更“接近”的代码,会发生什么? 1~4的变化会被拖入合并吗?以后1~4可以合并吗?
    • changes 1-4 不会被拖入合并中,以后合并时会发生冲突
    【解决方案2】:

    是的,TFS 将自动合并所有更改,包括更改集 5。

    当您将特定变更集合并回 Main 时,您实际上是在要求 TFS 集成从上一个基线开始到您指定的变更集的所有变更。

    【讨论】:

    • 这是不正确的。您还可以挑选单个更改集进行合并。
    猜你喜欢
    • 2010-11-28
    • 2011-01-08
    • 2015-12-18
    • 2015-02-19
    • 1970-01-01
    • 2017-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多