我已经阅读了SO的相关帖子,官方Hg指南,许多文章和指南,我仍然不清楚按功能开发的最佳Hg工作流程是什么。也许网上的一些文章已有数年之久,并未包含Hg的最新功能。显然,如何处理它也有很多选择。
我是一名处理项目的个人开发人员,其中将修复或功能的请求作为任务提交给我,例如“任务#546 - 更改任何内容”。其中一些任务需要几天时间,有些任务会持续数月,而且一次最多只能执行十几项任务。在请求者批准后,任务将被运送到最终站点。
Hg指南似乎建议每个功能都有一个克隆。但是在我的驱动器上有十几个完整的网站副本似乎......浪费?我想尝试一下,但我已经看到了更有意义的其他建议。人们真的一次在开发机器上有十几个每个站点的副本吗?
首先将名称分支听起来像我想要的那样,我在哪里命名一个分支“任务546”,然后在它发布时将其合并。我看到很多关于名称的持久性和有这么多分支的讨论(尽管它们可以被关闭)。有些人似乎关心这一点,有些则不关心。我不知道Hg是否足以知道我是否关心,以及缺点是什么意思。
最后,书签似乎在最近的文章中很受欢迎,似乎使用它们的最佳方式是设置像“任务546”这样的书签然后当你使用提交将其合并回主分支时在其中包含任务编号的消息,以保留对工作中正在执行的操作的引用。我知道你可以删除书签,但目前还不清楚在最终合并后我是否需要这样做。
所以我想要采用综合方法:
一个回购
三个命名分支:
我会为我正在处理的每个任务使用书签,所以我对每个任务都有一个负责人
我的任务/功能工作流程是:
思考?我是否会更好地为每个功能制作一个克隆,以及我推送的“实时”和“测试”回购?
编辑:我从一些链接中看到我应该从“默认”开始进行开发,所以我对列出的进程的第一个更改是使用名称“production”分支而不是命名的“dev”分支。 / p>
答案 0 :(得分:3)
书签风格的分支(类似Git的“分支”)在两种常见案例中效果不佳
虽然使用命名分支没有这样的问题,但顺便说一句,带有命名分支的工作流(并且只有默认分支作为聚合点)将不那么复杂且更符合逻辑
-r "branch(TASK-ID)"
答案 1 :(得分:1)
我喜欢它。 +1。这就是我这样做的方式。