Git Flow不仅仅是一种规范,还提供了一套方便的工具。大大简化了执行Git Flow的过程。

安装

OSX
  1. brew install git-flow

Debian/Ubuntu Linux
  1. apt-get install git-flow

Windows(cygwin)
  1. wget -q -O - --no-check-certificate https://github.com/nvie/gitflow/raw/develop/contrib/gitflow-installer.sh | bash

Initialize

对一个git仓库配置一下git flow。主要是一些命名规范,比如feature分支的前缀,hotfix分支的前缀等。一般用默认值就行。

  1. git flow init

Feature

Start a new feature

从develop开启一个新的分支

  1. git flow feature start MYFEATURE

这个命令会从develop分出一个分支,然后切换到这个分支上面。

Finish up a feature

一个feature分支开发完毕后,要做以下事情:

  • 把 MYFEATURE 合并到 develop
  • 把这个分支干掉
  • 切换回develop分支

    1. git flow feature finish FEATURE_NAME

    Publish a feature

    如果你想让别人和你一起开发MYFEATURE分支,那就把这个分支push到服务器上

    1. git flow feature publish MYFEATURE

    Getting a published feature

    获得一个别人publish到服务器上的feature分支

    1. git flow feature pull origin MYFEATURE

    Release

    Start a release

    创建一个release分支,派生自develop分支。

    1. git flow release start RELEASE

    Publish a release

    1. git flow release publish RELEASE

    Finish up a release

    一个release分支结束后,需要做以下工作:

  • 把release分支合并回master

  • 给本次发布打tag
  • 同时把release分支合并回develop
  • 干掉release分支
    1. git flow release finish RELEASE
    最后不要忘记把tag push到服务器git push —tags

    Hotfix

    git flow hotfix start

    开启一个hotfix分支
    1. git flow hotfix start VERSION

    Finish a hotfix

    结束一个hotfix分支,和release一样,同时合并回develop和master
    1. git flow hotfix finish VERSION

参考链接