在 TFS 2015 中执行无基础合并是否有其他选择?

Bre*_*t F 2 merge tfs branch

所以我刚刚到达现场,我是一名承包商……他们最近才开始使用源代码控制工具 (TFS 2015)。但它实际上只是用作备份的存储库。他们只使用文件夹,没有分支。

问题是:我们有一个大型应用程序迁移项目,需要不同程度地修改所有代码。同时,我们无法进行全局代码冻结,因为可能需要在实施应用程序迁移项目代码更改之前在生产中实施紧急代码更改。我的想法是将任何给定应用程序的基本文件夹转换为分支并将其命名为 appName-main。然后,我将 -main 分支到 -appMigration,应用程序迁移项目将在其中进行。太好了,一切都很好......直到出现紧急变更,需要在我们的新数据中心完成 appMigration 项目之前在主要设备上实施该变更。所以我继续并再次分支 -main,这次是 -EmergencyChange001,完成一些工作后,它最终完成。此时,我想将 -EmergencyChange001 合并到-Main和-AppMigration 分支。我认为这样做的唯一方法是执行毫无根据的合并,但有很多强烈的建议反对这样做。这种情况是否会导致毫无根据的合并,或者是否有更好的替代方案?提前致谢。

Edd*_*SFT 5

无基础合并可以在您的场景中使用,但我建议您在工作中尽可能避免使用它,因为它可能会在将来带来更多问题。一些信息供您参考:

毫无根据的合并的陷阱

如何避免在无基础合并后必须合并存储库中的每个文件?

正如詹姆斯在评论中提到的,按照你的情况,

-EmergencyChange001 = -主要 + 紧急变更

一旦将 -EmergencyChange001 合并到 -Main,最新的 -Main 将与 -EmergencyChange001 相同。因此,将 -EmergencyChange001 合并到 -Main,然后将 -Main 合并到 -appMigration 会比无基础合并更好。