Gitflow 工做流定义了一个围绕项目发布的严格分支模型。其优势是清晰可控,使多人项目协做开发更加规范;缺点是相对复杂,须要同时维护两个长期分支。html
项目中存在两个长期分支linux
master
分支通常对应的是生产环境的代码,是稳定的发布版本;develop
分支对应的是开发环境的代码,存放的都是最新的开发版。git
三种短时间分支github
一旦完成开发,它们就会被合并进 develop 或 master,而后被删除。bash
mac服务器
brew install git-flow-avhspa
linuxcode
apt-get install git-flowhtm
widowsblog
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