我有一个具有 3 个环境的应用程序 - 开发、阶段和生产。我有很多功能/错误修复必须独立部署到阶段和生产。
错误修复和功能通常有 2/3 的提交。
目前我在我的项目中使用 mercurial,但我无法决定使用哪种方式。最好使用命名分支,但我不知道它是否适合其中的 1/2/3 提交。我发现移植物看起来也很有前途。
所以我的问题是,如果我需要能够单独部署更改,如何对文件进行版本控制?
最佳答案
您可以使用任何 Mercurial 分支模型(命名|匿名分支、书签、克隆)——更多的是品味、习惯和任务的问题——有了命名分支,您将能够轻松 将来(如果|需要时)检测与每个已完成|WIP 作业相关的 repo 历史的一部分(只是因为唯一的分支名称是每个变更集中的永久元数据,与匿名/与父共享相同的名称相反/分支或书签驱动的/history 与其他更改/历史分支混合在公共(public)分支中。
大量使用命名分支的一个缺点是一段时间后 hg branches
的输出很长。我更喜欢使用命名分支,因为它提供了可恢复的更改历史记录和更完善的日志:而不是使用嫁接的变更集重复更改,我看到每个已完成任务的集成都有一个 merge ,存储库图显示所有 merge 目标
关于version-control - 每个 bugfix 与 dev 分支的移植的分离分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24978623/