所以我刚刚到达现场,我是承包商....他们最近才开始使用源代码管理工具(TFS 2015)。但它实际上只是用作备份的存储库。他们只使用文件夹而没有分支。
问题在于:我们有一个大型应用迁移项目,需要在不同程度上触及所有代码。同时,我们无法执行全局代码冻结,因为在实施应用程序迁移项目代码更改之前,可能需要在生产中实施紧急代码更改。我的想法是将任何给定应用程序的基本文件夹转换为分支并将其命名为appName-main。然后我将分支-main转移到-appMigration,其中app迁移项目将会发生。很棒,一切都很好......直到紧急变更出现,需要在我们的新数据中心完成appMigration项目之前在主井上实施。所以我继续分支-main,这次是-EmergencyChange001,经过一些工作,它最终完成了。此时,我想将-EmergencyChange001合并到两个 -Main 和 -AppMigration分支。我能看到这样做的唯一方法是进行毫无根据的合并,但是有很多强烈的建议反对这样做。这是一个可以保证毫无根据的合并的方案,还是有更好的替代方案?提前致谢。
答案 0 :(得分:4)
无底版合并可以在您的场景中使用,但我建议您尽可能避免在工作中使用它,因为它可能会在将来带来更多问题。一些信息供您参考:
How do I avoid having to merge every file in our repository after a baseless merge?
正如詹姆斯在评论中提到的,在你的情况下,
-EmergencyChange001 = -Main +紧急变更
只要将-EmergencyChange001合并到-Main,最新的-Main将与-EmergencyChange001相同。所以合并-EmergencyChange001到-Main再合并-Main到-appMigration会更好,然后无基础合并。