初始化
- 在
git init
之后执行git init flow
;接下来的命名约定建议使用默认值;
新特性
- 为即将发布的版本开发新功能特性。
- 这通常只存在开发者的库中。
增加新特性
git flow feature start [name]
: 创建一个develop
与feature/[name]
分支;
完成新特性
git flow feature finish [name]
* 合并[name]到develop
;
* 删除该特性分支;
* 切换回develop
分支;
发布新特性
git flow feature publish [name]
q取得发布的新特性
git flow feature pull [name]
作为release版本
- 支持一个新的用于生产环境的发布版本。
- 允许修正小问题,并为发布版本准备元数据
准备release版本
git flow release start [name] [BASE]
: base为提交的一个哈希值;
* 从 'develop' 分支开始创建一个 release 分支。
发布release版本
git flow release publish [name]
完成 release 版本
git flow release finish [name]
* 归并release
分支到master
分支;
* 用release
分支名打 Tag;
* 归并release
分支到develop
;
* 移除release
分支
紧急修复
- 生产环境的版本处于一个不预期状态,需要立即修正;
- 有可能是需要修正 master 分支上某个 TAG 标记的生产版本;
开始 git flow 紧急修复
git flow hotfix start VERSION [BASENAME]
* VERSION 参数标记着修正版本,可以从 [BASENAME]开始;
* [BASENAME]为finish release时填写的版本号;
完成紧急修复
git flow hotfix finish VERSION
* 当完成紧急修复分支,代码归并回 develop 和 master 分支。相应地,master 分支打上修正版本的 TAG。
git hooks
git tag
- 打标签:
git tag v0.1
- 搜索标签:
git tag -l v1.4.2.*
- 创建附注标签
git tag -a v0.1.2 -m "..."
- 切换到标签:
git checkout [tagname]
- 删除标签:
git tag -d v0.1.2
- 标签发布
git push origin v0.1.2 //将v0.1.2标签提交到git服务器
git push origin –-tags //将本地所有标签一次性提交到git服务器