Git Flow不仅仅是一种规范,还提供了一套方便的工具。大大简化了执行Git Flow的过程。
安装
OSX
brew install git-flow
Debian/Ubuntu Linux
apt-get install git-flow
Windows(cygwin)
wget -q -O - --no-check-certificate https://github.com/nvie/gitflow/raw/develop/contrib/gitflow-installer.sh | bash
Initialize
对一个git仓库配置一下git flow。主要是一些命名规范,比如feature分支的前缀,hotfix分支的前缀等。一般用默认值就行。
git flow init
Feature
Start a new feature
从develop开启一个新的分支
git flow feature start MYFEATURE
这个命令会从develop分出一个分支,然后切换到这个分支上面。
Finish up a feature
一个feature分支开发完毕后,要做以下事情:
- 把 MYFEATURE 合并到 develop
- 把这个分支干掉
切换回develop分支
git flow feature finish FEATURE_NAME
Publish a feature
如果你想让别人和你一起开发MYFEATURE分支,那就把这个分支push到服务器上
git flow feature publish MYFEATURE
Getting a published feature
获得一个别人publish到服务器上的feature分支
git flow feature pull origin MYFEATURE
Release
Start a release
创建一个release分支,派生自develop分支。
git flow release start RELEASE
Publish a release
git flow release publish RELEASE
Finish up a release
一个release分支结束后,需要做以下工作:
把release分支合并回master
- 给本次发布打tag
- 同时把release分支合并回develop
- 干掉release分支
最后不要忘记把tag push到服务器git push —tagsgit flow release finish RELEASE
Hotfix
git flow hotfix start
开启一个hotfix分支git flow hotfix start VERSION
Finish a hotfix
结束一个hotfix分支,和release一样,同时合并回develop和mastergit flow hotfix finish VERSION