TFS中每个促销权衡的分支

时间:2012-12-11 16:27:54

标签: version-control tfs tfs2010 branch branching-and-merging

假设我们有一个大型TFS 2010项目,有三个分支:MAIN,TST和PRD。

策略是:每当Sprint完成MAIN被复制/合并到TST。每当TST被认为是稳定的,它就被复制/合并到PRD中。每当TST或PRD修复时,它们都会合并回MAIN,MAIN和TST。 (不要问我为什么,我无法控制这个,我不是特别喜欢它。)

在每个促销步骤中,据我所知,可以:

  1. 再次删除目标分支和分支 - 这需要立即失去对该分支历史记录的访问权限(它总是可以恢复,对吧?);
  2. acceptTheirs 合并并解决 - 这需要丢失可能尚未从目标合并回原点的更改。
  3. 对于合并后退,拥有祖先信息非常重要。用1.我希望保留祖先信息。 2.我不确定。

    所以,有两个问题:

    1. 这两种方法是否可以在分支机构之间推广软件?
    2. 我的哪些病例是未保存的血统信息?
    3. 可能与大型存储库相关的任何额外权衡的额外分数。

1 个答案:

答案 0 :(得分:2)

  

1.这两种可能/可取的方法是在分支机构之间推广软件吗?

如果MAIN有一个子分支TST,它有一个子分支PRD,那么不使用无基础合并,这些是唯一可以促进分支之间变化的合并。

如果这是一个理想的分支策略,取决于许多因素,例如推出了多少并行版本和团队规模。关于这一点的一个很好的参考指南是TFS游骑兵的分支指导http://vsarbranchingguide.codeplex.com/您似乎使用的版本是基本双分支计划的变体(您称之为主要,他们称为开发和您的生产分支是独特的标签)。如果只有一个版本在生产中,那么这种分支策略最有效,而且版本应始终包含所有内容。

  

2.在哪些情况下不保留血统信息?

如果复制文件或销毁分支。但是,如果您需要一直删除和/或重新创建分支和/或需要连续使用acceptTheirs,而不是经常表示;分支策略不足,TFS培训不足,或者测试和修补策略存在问题(生产和开发中发现的错误同时被发现并修复,导致合并冲突)。