Mercurial每个功能工作流程,单个开发人员
我读过类似的文章,如官方的Hg指南,许多文章和指南,我仍然不清楚什么是按功能开发的最佳Hg工作流。也许网络上的一些文章已经过时了,没有包含Hg的最新功能。显然,在如何实现这一点上也有很多选择 我是一名单独开发人员,在一个项目中,修复或功能的请求将作为一项任务提交给我,比如“任务#546-更改任何内容”。有些任务需要几天的时间,有些任务需要几个月才能完成,而且一次执行的任务往往多达十几个。在请求者批准任务后,任务将被发送到最终站点 《Hg指南》似乎建议每个功能都有一个克隆。但在我的驱动器上有十几个完整的网站副本似乎。。。浪费的我很乐意尝试,但我看到了其他更有意义的建议。人们真的一次在他们的开发机器上有十几个站点的副本吗 命名分支一开始听起来像我想要的,在哪里我会命名一个分支“task 546”处理它,然后在它发布时将它合并回来。我看到很多关于名称永久性的讨论,并且有这么多分支(尽管它们可以关闭)。有些人似乎关心这一点,有些人则不关心。我对汞的了解还不够,不知道我是否关心它,以及它的缺点到底意味着什么 最后,书签似乎在最近的文章中很流行,使用书签的最佳方式似乎是设置一个书签,如“task 546”,然后当您使用一个包含任务编号的提交消息将其合并回主分支时,保留对工作中所做工作的引用。我知道你可以删除书签,但不清楚在最终合并后我是否需要这样做 因此,我对组合方法的想法是: 一次回购 三个命名分支:Mercurial每个功能工作流程,单个开发人员,mercurial,workflow,Mercurial,Workflow,我读过类似的文章,如官方的Hg指南,许多文章和指南,我仍然不清楚什么是按功能开发的最佳Hg工作流。也许网络上的一些文章已经过时了,没有包含Hg的最新功能。显然,在如何实现这一点上也有很多选择 我是一名单独开发人员,在一个项目中,修复或功能的请求将作为一项任务提交给我,比如“任务#546-更改任何内容”。有些任务需要几天的时间,有些任务需要几个月才能完成,而且一次执行的任务往往多达十几个。在请求者批准任务后,任务将被发送到最终站点 《Hg指南》似乎建议每个功能都有一个克隆。但在我的驱动器上有十几个
- “默认”保存站点的发布版本
- 我在“dev”上进行功能开发
- “测试”,用于保存客户正在审查的所有任务
编辑:我从一些链接中看到,我应该关闭“默认”进行开发,因此我对列出的流程的第一个更改是使用名为“生产”的分支,而不是名为“开发”的分支。我喜欢它+1.我会这样做的 书签式的分支(类似Git的“分支”)至少在两种常见情况下效果不佳
- 默认值仅包含来自任务分支的合并集,默认值的开头总是“稳定版本”
- 指定分支机构的负责人是在制品;分支,合并为默认-已完成(并由客户接受-见下文)工作
- 默认情况下,合并到任务分支(在任务开发之后,在将任务分支合并到默认状态之前)相当于您的“测试”:在不影响主线的情况下,您可以测试功能的最终状态,集成到稳定的应用程序中,向客户显示结果
- 通过将命名分支合并到默认值,已接受的工作添加到稳定主线
- 过去每个任务的更改历史(完整历史)可以通过使用日志的单个、简单、简短、难忘的revset轻松恢复:
-r“branch(task-ID)”