代码之家  ›  专栏  ›  技术社区  ›  SecretDeveloper

在TFS中,如何对特定变更集进行无基合并?

  •  40
  • SecretDeveloper  · 技术社区  · 15 年前

    就像大多数事情一样 TFS 你得到的比你所期望的要多。在这种情况下,合并期间看到的文件更改比预期的要多。

    我有两个孩子的分支,让我们兴奋起来,把它们叫做分支1和分支2。它们都在创建后进行了更改。我需要从branch2中获取12个特定的变更集,并将它们合并到branch1中。Branch2的更改无法返回到父分支。所以这是一个简单的无基础合并,但结果不是我所期望的。

    在第一个变更集中,我运行了以下命令:

    tf merge /baseless /recursive /version:C95654 branch2 branch1
    

    变更集95654包含12个已更改的文件,但在此命令之后,我得到56个有冲突的已编辑文件。我只希望将指定的变更集从一个分支合并到另一个分支,但它似乎已合并了整个文件夹。

    那么,当我指定变更集时,为什么我要得到56个文件而不是12个文件呢?另外,我可以做些什么来将合并的内容仅限于该变更集的内容?

    2 回复  |  直到 11 年前
        1
  •  57
  •   stusmith    12 年前

    如果需要合并特定的变更集,则需要使用以下语句:

    tf merge /baseless /recursive /version:C95654~C95654 branch2 branch1
    

    (仅表示变更集C95654)。

    您使用的命令行表示之前和使用C95654的每个变更集。

        2
  •  1
  •   s6712    11 年前

    我必须为这两个分支使用tfs路径。步骤是:将两个分支添加到所需的工作区;获取最新信息;在目标文件夹中打开Windows PowerShell。获取TFS路径

    >tf workspaces /format:detailed 
    >tf workfold
    

    然后对分支使用$paths。一个变更集的无基线平铺合并之间的变更集编号相同。

    >tf merge /baseless /recursive /version:C999~C999 "$/MyRepo/Current" "$/MyRepo/Development"
    

    这里更多-- http://blogs.msdn.com/b/bharry/archive/2011/08/31/merge-enhancements-in-tfs-11.aspx