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