如何修复TFS错误的分支

poi*_*per 3 tfs branch tfs2010

我们有一个项目在TFS 2010中并且错误地分支.我们想解决它.这是我们目前的结构:

  • 发展
  • 积分
  • 主要

问题是MainIntegration的一个分支,而Integration又是Development的一个分支,而它应该是相反的.

换句话说,首先它是创建开发,然后是分支集成,然后是Main.

现在所有三个分支都有相同的代码(合并).

那么,是否有可能修复TFS引用以获得正确的流程:主要 - > 集成 - > 开发

Isa*_*110 5

据我所知,没有办法在幕后进行这种改变.您遇到的问题是开发和主要分支不合适.解决这个问题最简单的方法是将"Development"分支重命名为"Main",反之亦然,或者使用REPARENT选项,如答案末尾所示.

我假设在你的情况下,因为你只有一个DEV分支(当前的分支结构不可能有超过1个dev),下一个版本的开发不会发生,直到当前版本在生产中出现?在这种情况下,您可以等到当前版本结束,然后重命名分支,以便在重命名之前所有3个分支都同步.

(请记住,"重命名"更改集会影响分支中的所有文件和文件夹,并且从下面的评论中我可以理解,如果您在错误的时间执行此操作可能会非常有问题.请非常明智地选择您的时间,制作确保分支之间没有任何待处理的更改,它只是分支之间待定的"重命名"变更集)

另一种方法是使用REPARENT.在下面的评论中进行了很好的讨论后,我自己尝试了这些选项,解决这个问题的最佳方法是使用"Reparent"选项.我通过创建三个不同的分支来尝试自己.您可以执行以下操作来修复它:

  1. 在Visual Studio中,单击Main分支 - >然后单击File - > Source Control - > Branching and Merging - > Reparent.选择"No Parent",然后单击"Reparent"

  2. 单击INT分支 - >然后单击文件 - >源代码管理 - >分支和合并 - >重新分区.选择"Main",然后单击"Reparent".

  3. 单击DEV分支 - >然后单击文件 - >源代码管理 - >分支和合并 - >重新分区.选择"INT",然后单击"Reparent".

  • 我同意即使名字不同,关系也是一样的.但是对于工作环境中的所有意图和目的,你不能将"Main"保持为"DEV"和反之亦然.这可能会给开发人员带来很多困惑."Reparent"选项再次必须处理无根合并.所以我不知道那是多么好 (4认同)
  • 1.重命名分支将导致[一系列问题](http://stackoverflow.com/a/17819821/568475)2.pointnetdeveloper可以通过从"Int"分支来创建多个dev分支.3.不需要创建新分支.Dev - > int - > Main与Main - > int - > Dev实际上是一样的.唯一的实际区别是分支可视化将以错误的方式显示事物.这可以使用"reparent"修复 (2认同)
  • 我同意重命名可能会导致问题,但如果你在合适的时间做,它应该没问题.不是在发布的中间,而是在开始时,一切都在同步,我们只有"重命名"变更集.在这种情况下,合并将确保一切正常.你重命名后说一个分支的链接会导致"无根合并"是错误的.自上次合并以来,只有内容在源和目标之间不同的项目将是无基础合并的,而不是整个分支! (2认同)