据我所知,没有办法在幕后进行这种改变。您手头的问题是 Development 和 Main 分支不合适。解决此问题的最简单方法是将“开发”分支重命名为“主要”,反之亦然,或者使用答案末尾所示的 REPARENT 选项。
我假设在您的情况下,由于您只有一个 DEV 分支(当前分支结构不可能有超过 1 个开发人员),因此在当前版本投入生产之前,下一个版本的开发不会发生,对吗?在这种情况下,您可以等到当前版本结束,然后重命名分支,以便所有 3 个分支在重命名之前同步。
(请记住,“重命名”变更集会影响您分支中的所有文件和文件夹,从下面的评论中我可以理解,如果您在错误的时间执行此操作可能会造成很大的问题。非常明智地选择您的时间,让确保您在分支之间没有任何待处理的更改,它只是在分支之间待处理的“重命名”变更集)
另一种方法是使用 REPARENT。在下面的评论中进行了精彩的讨论之后,我自己尝试了这些选项,解决这个问题的最佳方法是使用“Reparent”选项。我通过创建三个不同的分支自己尝试了这一点。您可以执行以下操作来修复它:
在 Visual Studio 中,单击 Main 分支 -> 然后 File -> Source Control -> Branching and Merging -> Reparent。选择“无父”,然后单击“重父”
单击 INT 分支 -> 然后文件 -> 源代码管理 -> 分支和合并 -> 重新父级。选择“主要”,然后单击“重新父级”。
点击 DEV 分支 -> 然后点击 File -> Source Control -> Branching and Merging -> Reparent。选择“INT”,然后单击“Reparent”。