TFS分支合并在不同的分支上

时间:2012-03-15 10:06:29

标签: tfs2010

我在TFS上有以下结构:

  

$基

 - $Dev Branch 1

 - $Integration Branch 2

我想将Dev Branch 1上的更改合并到Integration Branch 2,以便构建人员可以启动此Integration Integration的Hudson构建。

我正在使用Visual Studio 2008 Team,当我尝试合并Dev Branch1时,我只能看到Base on Target Branch下拉。

有人可以建议如何以及是否可以在上面的Dev和Integration分支之间进行合并。

由于

2 个答案:

答案 0 :(得分:9)

有几种方法可以做到这一点,但两者都不是那么好。对于第一种方法,您需要安装TFS 2010 power tools

  1. 使用搁架套装。从dev到base启动合并,解决所有冲突。不要检查合并,而是搁置更改。然后从命令行使用tfpt unshelve "my shelve set" /migrate /source:$/teamProject/dev /target:$/teamProject/integration。这会将搁置的更改迁移到集成分支,而不必将更改提交到基本分支。

  2. 在开发和集成之间执行无基本合并。一旦baseless合并建立了分支关系,您可以使用命令tf merge $/teamProject/dev $/teamProject/integration /baseless /recursive执行此操作,然后您可以通过UI进行进一步的合并。但请注意,无基本合并不会知道任何已重命名或移动的文件或文件夹,因此您需要确保将其记入帐户。

  3. 如果这是一次性的话,我个人会选择选项1。如果它是你认为你需要定期做的事情,那么当所有3个分支同步时,我会进行无根合并。在你从开发到基础合并到集成之后。这应该最小化无基础合并的任何问题。

    您可能还想查看分支策略,这样您就不需要经常执行复杂的合并操作。如果您使用集成分支,那么它应该与您需要集成的任何分支有直接关系。查看ALM rangers branching guidance

答案 1 :(得分:0)

您只能合并到创建分支的位置。您必须从Dev合并到Base,然后再从Base合并到Integration。

如果您想直接从Dev合并到Integration,那么您的Integration分支应该作为Dev not Base的分支创建。