Gitflow 工作流定义了一个围绕项目发布的严格分支模型。其优点是清晰可控,使多人项目协作开发更加规范;缺点是相对复杂,需要同时维护两个长期分支。
分支介绍
项目中存在两个长期分支
- 主分支(master)
- 开发分支 (develop)
master
分支一般对应的是生产环境的代码,是稳定的发布版本;develop
分支对应的是开发环境的代码,存放的都是最新的开发版。
三种短期分支
- 功能分支(feature branch)
- 补丁分支(hotfix branch)
- 预发分支(release branch)
一旦完成开发,它们就会被合并进 develop 或 master,然后被删除。
安装
mac
brew install git-flow-avh
linux
apt-get install git-flow
widows
wget -q -O - --no-check-certificate https://raw.github.com/peterv... install stable | bash
常用命令
- 初始化
git flow init
- 开发新特性,
feature
分支
创建一个基于 develop
分支的 MYFEATURE feature
分支,并切换到该分支下
git flow feature start MYFEATURE
完成开发新特性,合并 MYFEATURE 分支到 develop
,删除这个新特性分支,并切换回 develop
分支
git flow feature finish MYFEATURE
发布新特性分支到远程服务器
git flow feature publish MYFEATURE
更新其它用户发布的新特性分支
git flow feature pull origin MYFEATURE
- 准备预发布版本,
release
分支
创建 RELEASE
分支,可选参数 BASE 是 develop
分支提交记录的 sha-1 hash 值,用来启动 release 分支
git flow release start RELEASE [BASE]
发布分支到远程服务器
git flow release publish RELEASE
完成开发 release
分支,合并到 master
分支、develop
分支,添加 Tag 标签,最后移除 release
分支
git flow release finish RELEASE
- 紧急修复,
hotfix
分支
git flow hotfix start VERSION [BASENAME]
完成紧急修复分支,代码合并到 develop
和 master
分支。相应地,master 分支打上修正版本的 Tag 标签。
git flow hotfix finish VERSION
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。