我们有 10 名开发人员组成的团队,他们为不同的功能并行工作,有时这些功能使用通用代码,有时不使用。
现在我们正在将我们的流程更改为每个功能的分支,似乎 mercurial 更适合这种开发。
我看到这个过程是这样的:
1.从默认(主干)制作发布分支(r-b)
2.从默认(主干)制作功能分支(f-b)
当开发人员认为他的功能完成时,他可以将 f-b merge 到 r-b。当需要进行 QA 时,我们将所有完成的 f-b merge 到 r-b 并为我们的 QA 创建发布。
问题:
谢谢
最佳答案
如果您要 merge 到特定的发布分支,那么您的功能分支应该从发布分支分支,而不是主干。与父分支 merge 比非父分支更简单。
1)如果你真的想做功能分支,那么每个错误都会有自己的分支。这将有助于将错误修复与新功能分开。毕竟,它是每个功能的分支,而不是每个开发人员的分支。
2) Mercurial 标签是我用过的。你是对的,如果他们真的想改变移动标签,但是标签是版本化的,你可以在主 hg repo 上安装钩子(Hook),以便在移动标签时发出警报。我真的不会担心标签被移动,除非你不能信任你的开发者,在这种情况下你就完蛋了。
关于version-control - 使用 Mercurial 的按功能分支工作流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7707121/