【问题标题】:TFS 2010: How to re-branch using same name but different source branch?TFS 2010:如何使用相同名称但不同的源分支重新分支?
【发布时间】:2011-08-18 19:10:24
【问题描述】:

我最近加入的团队有以下 TFS 分支结构(摘要):

  • 主要
  • Foo 从 Main 分支
  • 从 Foo 分支的酒吧

我需要删除 Bar 并从本质上直接从 Main 重新分支它,而不是从 Foo。我不需要在 Bar 中维护现有的修订历史记录。

看似合乎逻辑且简单的事情是简单地删除 Bar 并将其重新创建为 Main 的一个分支,但是我从一个 TFS MVP 中遇到了 blog post,表明删除/重新创建一个使用相同名称的分支是坏ju-ju。

那么……我该怎么办?有没有办法重新定位分支而不删除它?值得注意的是,由于各种原因,Bar 分店的名称需要保持不变。

【问题讨论】:

    标签: tfs branch


    【解决方案1】:

    在 TFS 中重新定位分支并不容易。我认为与其他 VCS-es 相比,TFS 中的分支和合并非常非常有限。

    我们曾多次按照您的描述进行操作,但没有发现任何问题。但是,我不能保证您会避免这些问题。是否可以选择迁移到另一个 TFS 项目?然后你可以将 Main 合并到新项目中,并在那里分支出一个新的“Bar”? 可能不是一个选择...

    【讨论】:

    • 是的,很遗憾,迁移到另一个 TFS 项目对我们来说不是一个选择。
    • FWIW,我继续删除 Bar,然后将其重新创建为 Main 的一个分支,并且“到目前为止”一切正常......
    【解决方案2】:

    您有几个选择,如果您想保留 bar,但更改它与 main 的关系,您可以重新设置分支。首先,您需要从 main 到 bar 进行毫无根据的合并

    Tf 合并 /baseless $/teamproject/main $/teamproject/bar

    签入待处理的更改。

    一旦 main 和 bar 分支具有合并关系,您就可以在源代码管理资源管理器中重新设置该分支。右键单击栏,选择“分支和合并”,然后选择“重新父级”。您现在应该可以选择 main。请参阅this blog 了解更多信息。

    如果历史不重要,那么您可以“销毁”分支而不是删除它。这应该可以避免您提到的博客中描述的问题。使用“tf destroy $/teamproject/bar”命令行。

    顾名思义,destroy 是永久性的,因此使用时要格外小心,一旦您销毁了分支,那么重新分支应该不会有任何问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-24
      • 2021-08-19
      • 1970-01-01
      • 2012-01-15
      • 2011-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多