Clone wiki

hgflow / cn / UserManual

首页/Home > 中文首页 > 用户文档

安装 hg flow

这里 下载最新版本的hg flow,文件命名为 hgflow-<version>.py

修改 .hgrc

  • Linux/Unix/Mac 用户为 /.hgrc
  • Windows 用户为 %HOME%/mercurial.ini

增加如下内容

[extensions]
hgflow = /PATH/TO/hgflow-<version>.py


命令

初始化工作区

初始化工作区,使得工作区适合 hgflow 的开发分支模型。

hg flow init


初始化工作区后,会提示你输入:

  • 生产分支
  • 开发分支
  • 功能开发分支前缀
  • 发布开发分支前缀
  • 热修改分支前缀
  • 版本tag前缀
Branch name for production release : [default] 
Branch name for "next release" development : [develop] 

How to name your supporting branch prefixes?
Feature branches? [feature/] 
Release branches? [release/] 
Hotfix branches? [hotfix/] 
Version tag prefix? [] 


功能开发/Bug修复

在开发阶段,让每个人、小组进行功能开发或者是Bug修复。目的是大家相互不干扰。

开始一个功能/Bug修复

hg flow feature start <name>


这个命令会基于开发分支(develop)新建一个功能开发分支 feature/<name>,并自动切换到此分支。

完成一个功能/Bug修复

hg flow feature finish <name>


这个命令会 关闭 功能开发分支feature/<name>,并把内容合并到开发分支。

在功能开发分支中切换

hg flow feature change <name>


这个命令会在不同的功能开发分支中进行切换,切换到 feature/<name> 分支中。

关闭功能开发分支(未完成)

hg flow feature close <name>


放弃这次功能开发,关闭分支 feature/<name>

准备发布新版本

当功能开发完成,全面进入测试阶段时候,则采用发布分支。发布分支的目的是使得测试阶段的代码和其他与本次发布无关的功能性代码隔离开,相互不干扰。

开始准备发布

hg flow release start <name>


这个命令会基于开发分支(develop)新建一个发布分支 release/<name>,并自动切换到此分支。

当有这个分支的时候,开发阶段应该进入全面测试期,这个分支上只负责修改测试出现的bug等问题。理论上此时不再进行新功能开发,也就是需求冻结阶段。

完成一个发布

hg flow release finish <name> [tag_name]


这个命令会 关闭 发布分支release/<name>,然后执行如下操作:

  • 合并到生产分支 (default)
    • 如果指定 tag_name,则合并标记 tag_name 到生产分支
    • 如果未指定 tag_name,则合并分支 release/<name> 到生产分支
  • 打这次发布的tag <version_tag_prefix><name> 如 v1.0
  • 合并 release/<name> 到开发分支 (develop)

关闭待发布分支(未完成)

hg flow release close <name>


放弃这次功能开发,关闭分支 release/<name>

热修补

当生产环境出现了一些急于修补的问题,则是用热修补分支。热修补分支是以生产环境的代码作为基础,进行小规模的快速的修补。

开始准备发布

hg flow hotfix start <name>


这个命令会基于生产分支(develop)新建一个热修补分支 hotfix/<name>,并自动切换到此分支。

当生产环境出现了一些急需修补的问题,或者一些需求的增加,则可以使用热修补分支进行快速的小型迭代。

完成一个热修补

hg flow hotfix finish <name> [tag_name]


这个命令会 关闭 热修补分支 hotfix/<name>,然后执行如下操作:

  • 合并到生产分支 (default)
    • 如果指定 tag_name,则合并标记 tag_name 到生产分支
    • 如果未指定 tag_name,则合并分支 hotfix/<name> 到生产分支
  • 打这次发布的tag <version_tag_prefix><name> 如 v1.1
  • 合并 hotfix/<name> 到开发分支 (develop)

关闭热修补分支(未完成)

hg flow hotfix close <name>


放弃这次热修补,关闭热修补分支 hotfix/<name>

Updated