繁体   English   中英

使用Mercurial的按功能划分的工作流程

[英]Branch-per-feature workflow using Mercurial

我们有10个开发人员组成的团队,他们为不同的功能并行工作,有时候这些功能会使用通用代码。 现在我们正在将我们的流程改为按功能分支,而且似乎更适合这种开发。

我看到这个过程是这样的:1。从默认(主干)创建发布分支(rb)2。从默认(主干)创建功能分支(fb)

当开发人员认为他的功能完成后,他可以将fb合并到rb。 当我们去QA时,我们将所有已完成的fb合并到rb并为我们的QAs创建发布。

问题:

  1. 当QA发现错误时,开发人员应该修改他的fb并将其再次合并到rb。 这是否意味着开发人员只是切换到他的fb并开始修复bug然后再次简单地将fb合并到rb?

  2. 当发布QA时,它会转到PROD - 我们如何冻结更改? “hg tag”是不错的选择,但有人可以更新标签,如果他真的想要它。

谢谢

如果您要合并到特定的发布分支,那么您的功能分支应该从发布分支而不是主干分支。 与父分支合并比非父分支更简单。

1)如果你真的想做功能分支,那么每个bug都有自己的分支。 这将有助于将错误修复与新功能分开。 毕竟,它是每个功能的分支,而不是每个开发人员的分支。

2)Hg标签是我用过的。 你是对的,如果有人改变移动标签,但标签是版本化的,你可以在主hg repo上安装钩子,以便在移动标签时抛出警报。 我真的不担心标签被移动,除非你不相信你的开发人员,在这种情况下你被搞砸了。

你的第一个问题的答案是'是'。

冻结发布的最佳方法是使用单独的发布克隆,只有发布管理器可以推送/拉动更改集。 仅仅因为您使用分支并不意味着多克隆在您的工作流程中没有位置。 有一个克隆,QA做最后的飞行前测试,开发人员不能推动变化使得一个伟大的防火墙。

另外,请考虑为功能分支使用书签。 因为,我确定你知道,Mercurial命名的分支名称永远不会消失,类似git的书签适用于类似功能和错误的排序概念。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM