version-control - 使用 Mercurial 的按功能分支工作流

标签 version-control mercurial

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

我看到这个过程是这样的:
1.从默认(主干)制作发布分支(r-b)
2.从默认(主干)制作功能分支(f-b)

当开发人员认为他的功能完成时,他可以将 f-b merge 到 r-b。当需要进行 QA 时,我们将所有完成的 f-b merge 到 r-b 并为我们的 QA 创建发布。

问题:

  • 当 QA 发现 bug 时,开发人员应该修改他的 f-b 并再次将其 merge 到 r-b。这是否意味着开发人员只是切换到他的 f-b 并开始修复错误,然后再次将 f-b 简单地 merge 到 r-b ?
  • 当发布通过 QA 时,它会转到 PROD - 我们如何卡住更改? “hg tag”是不错的选择,但如果他真的想要,有人可以更新标签。

  • 谢谢

    最佳答案

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

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

    2) Mercurial 标签是我用过的。你是对的,如果他们真的想改变移动标签,但是标签是版本化的,你可以在主 hg repo 上安装钩子(Hook),以便在移动标签时发出警报。我真的不会担心标签被移动,除非你不能信任你的开发者,在这种情况下你就完蛋了。

    关于version-control - 使用 Mercurial 的按功能分支工作流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7707121/

    相关文章:

    python - 如何使用其变更集知道分支是否已关闭?

    mercurial - 不小心在 Mercurial 中错误命名的分支上工作

    Mercurial:将补丁应用到工作目录

    git - Mode-Line 中的 Subversion 分支

    c++ - 如何在 Visual C++ Express 2010 中创建一个项目的多个版本

    node.js - 大型 NPM repo - 需要将大型测试套件放在单独的项目中吗?

    git - 使用 git 跟踪其他人的项目

    mercurial - 在 TortoiseHg 中查看拓扑头

    git - 应该在版本控制项目中提交构建目录吗?

    python - 如何在 Mac OS X 10.8 上安装 hg 转换所需的 python 颠覆绑定(bind)?