在 TFS 2012 中重命名分支的后果是啥?

Posted

技术标签:

【中文标题】在 TFS 2012 中重命名分支的后果是啥?【英文标题】:What are the consequences of renaming a branch in TFS 2012?在 TFS 2012 中重命名分支的后果是什么? 【发布时间】:2013-03-09 11:15:45 【问题描述】:

我在很多地方读到过,在 TFS 2010 中重命名分支是相当有问题的:您可能会丢失刚刚重命名的分支的历史记录(as seen in this article 或在此 SO question 中)

我在 TFS 2012 中找不到任何提及这些问题的信息。在 TFS 2012 中重命名分支之前我应该​​注意什么后果?

【问题讨论】:

你能引用这些参考文献吗?因为我不确定你指的是什么。 (在任何版本的 TFS 中您都不会丢失历史记录。) 【参考方案1】:

重命名分支的最大问题是,下次合并到重命名的分支或从重命名的分支合并时,您将有效地执行无根据的合并。这会导致很多痛苦。

我目前正试图解开这样的混乱局面,这并不令人愉快。 (分支在 4 个月前更名。分支的第一次合并是部分合并)这是我不希望我最大的敌人(巧合的是重命名分支并进行部分合并的开发人员)的噩梦

更多信息请见this answer

【讨论】:

谢谢!由于细节和对其他答案的参考,我会接受您的回答 修复它...我所做的是通过变更集重新合并并选择除重命名之外的所有变更集。它似乎忽略了毫无根据的感觉,我的合并成功了。 @RiddlerDev,这是个好主意。不幸的是,这个选项对我来说是不可用的,因为已经完成了所有事情(包括毫无根据的)的合并。加上目标分支中的文件夹结构已经重新组织,所以......很多痛苦。【参考方案2】:

不要这样做!!!您也许可以在服务器上重命名它,但根据我的经验,TFS 想要检查每个文件......基本上把它当作一个副本。

【讨论】:

谢谢!幸运的是我当时没有这样做:)【参考方案3】:

你可以做到,但取决于你所处的情况。对于我的情况,我有以下结构:

Development
   ProjectX
      ProjectY
Main
Release

ProjectXProjectY 更早发布,并在一周前合并到Development-->Main。现在,名称 ProjectX 不再相关,而且还有一个以名称 ProjectZ 开头的新项目,所以,我要将 ProjectY 重命名为 ProjectZ 并将 ProjectX 重命名为 ProjectY .

一旦移动到标准发布周期,X、Y 和 Z 都将完全合并,因此我不必担心逐个合并。

【讨论】:

以上是关于在 TFS 2012 中重命名分支的后果是啥?的主要内容,如果未能解决你的问题,请参考以下文章

在 Laravel 迁移中重命名列,强制小写

在 Gitkraken 中重命名分支?

在 bitbucket 中重命名合并的分支名称

在 Athena 中重命名列

在 Xcode 4.3.3 中重命名 .xib 文件是正确的方法吗?

如何在 Win 7 64 位机器中重命名 gDoc 打印机