我有一个包含3个环境的应用程序 - 开发,舞台和制作。我有很多功能/错误修正,必须独立部署到舞台和制作。
错误修正和功能通常有2/3提交。
目前我使用mercurial作为我的项目,但我无法决定走哪条路。应该最好使用命名分支,但我不知道它适合于1/2/3提交。我发现移植物看起来也很有希望。
所以我的问题是如果我需要单独部署更改,如何版本文件?
答案 0 :(得分:4)
您可以使用任何 Mercurial分支模型(命名为|匿名分支,书签,克隆) - 它更多的品味,习惯和任务问题 - 您可以使用命名分支机构将来能够轻松(如果需要的话)检测回购历史的一部分,与每个已完成的WIP工作相关(仅因为唯一的分支名称是每个变更集中的永久元数据,与匿名/相反)与父/分支共享相同的名称,或者书签驱动/历史记录与其他更改/历史分支混合在一起。)
密集使用命名分支的一个缺点是在一段时间后hg branches
的长输出。我更喜欢使用命名分支,因为它提供了可恢复的更改历史记录和更精细的日志:而不是使用嫁接变更集重复更改我看到完成任务的每个集成和存储库图表的一个合并显示所有合并目标
答案 1 :(得分:2)
您应该只从“主”或主分支部署到生产。每个错误修复/功能通常都是自己的分支,因此您可以独立验证行为,而不会影响主分支。确认修复程序或功能完成后,应将其合并回主分支。从这个意义上说,你应该使用贪污,其目的是从备用分支(即你的bug修复分支)中挑选接受的更改回到主分支进行部署。您不能在没有分支的情况下使用嫁接,并且分支是测试源代码存储库更改的最合适方式,因此您不会使主分支混乱无意义或错误提交。您的主分支应该能够随时部署并且仍能正常运行。