重命名一个分支,然后重新使用该分支的名称?

时间:2011-05-05 15:40:18

标签: tfs2010

目前我们有这样的分支结构:Develop - >发布。我想改变它,使它看起来像TFS Branching Guidance document所谓的“基本分支计划”。它看起来像这个开发< - Main - >释放。

我打算这样做:

  1. 将开发重命名为Main(创建Main - > Release)
  2. 从此Main创建一个分支,重用“Develop”名称(创建Develop< - Main - > Release)
  3. TFS是否会为新分支重用旧分支名称?知道任何需要注意的问题或事情吗?

    谢谢!

    其他信息 我在测试实例中创建了这个,创建了没有任何文件,挂起的更改,历史记录等的测试分支(不是一个好的真正的测试),TFS让我毫无困难地进行重命名和分支。但是,我不会对此感到满意,除非我可以使用我们的生产TFS项目集合,在测试实例中恢复它,并在真实数据上测试重命名/分支。那里有很多历史和分支,我不知道会发生什么。如答案所述,在此之前还有其他一些考虑因素。

2 个答案:

答案 0 :(得分:7)

我正准备做类似的步骤(除了我移动父母和孩子的子文件夹位置,而孙子孙女留下来。)

问题:

  1. 您何时计划重命名?
  2. 在您没有提及的开发分支下是否有任何子分支?
  3. 您是否有任何可能受重命名影响的版本的搁置?
  4. 一般回答:谨慎行事。从我的阅读分支在TFS2010中重命名可能会导致一些意想不到的副作用。 TFS将针对您的方案执行以下步骤(在引擎盖下):

    1. 将开发重命名为Main ==>分支主要分支来自Develop,然后删除Develop分支
    2. 从Main
    3. 创建新的“Develop”分支

      我建议阅读以下帖子:

      Renaming Branches in TFS 2010 (ChandruR’s Blog)

        

      “MSDN博客> ChandruR的博客>在TFS 2010中重命名分支机构   所以我对这个案子的建议是:

           
          
      1. 避免重命名分支 - 更简洁的解决方案是,在您的发布中的正确位置合并对父分支的所有更改,然后重新分支以创建新的分支层次结构。
      2.         

        或者勇敢的心:):

             
            
        1. 您需要为分支的重命名计时,到您的版本中可以合并到所有相关分支的位置。要遵循的步骤是:   ......“
        2.   

      Renaming branches in TFS2010 - But it works on my PC!

        

      “在幕后的TFS 2010中,重命名实际上是一个分支和删除过程,这意味着我们最终得到了新的分支,但也删除了旧名称的分支。除非您“在源控件资源管理器中显示已删除的项目”,否则这一点并不明显......“

           

      “现在在幕后实现分支+删除(新名称从旧分支,然后删除旧名称)。这允许历史记录中的可追溯性,但允许我们解决合并重命名的问题(请参阅添加,重命名,添加方案)。“

      随意的想法

      1. 让所有开发者合并(或放弃)Dev的子分支中的所有安全更改。还要在重命名之前修剪任何不活动的分支。
      2. 阅读以上文章。
      3. 搜索以找到页面(我还没有找到),它根据实际经验准确描述了更简单的术语。 具体来说,我想知道在将它重命名为Main后,在发展分支上的搁置集会发生什么。 (下一步可以回答这个问题。)
      4. 您可以考虑制作一个“沙箱”团队项目(或团队项目集合),然后尝试您的方案以查看是否存在重大问题。
      5. 选择正确的时间(见链接#1)并继续。
      6. 检查历史记录,在重命名的分支之间进行合并,再次检查历史记录。
      7. 允许开发人员重新登录。
      8. 祝你好运,并回复任何新信息(包括您的最终结果)! -zs

答案 1 :(得分:1)

仅供参考:有关TFS2010的相关设计详情,请参阅Changing to Slot Mode in TFS 2010 Version Control