Git Flow流程示例代码

  1. 创建develop分支
// 从master拉出develop分支
git pull origin master //可选,获取最新版本
git checkout -b develop master

// 发布develop分支
git push -u origin develop


  1. 创建feature分支
// 从develop拉出feature_v2.0功能分支
git pull origin develop //可选,获取最新版本
git checkout -b feature_v2.0 develop

// 发布feature_v1.1分支
git push -u origin feature_v2.0


  1. 完成feature,合并到develop分支
// develop分支获取最新
git pull origin develop

// 切换到develop分支
git checkout develop

// 从feature分支合并到develop分支
git merge --no-ff feature_v2.0


// 删除feature分支,也可以不删除
git branch -d feature_v2.0


  1. 开始release
// 从develop拉出一个release分支
git pull origin develop //可选,获取最新版本
git checkout -b release_v2.0 develop


  1. 完成release,合并到master分支和develop分支,在master打上tag标记
// 合并到master
git checkout master
git merge --no-ff release_v2.0

// 在master打tag标记
git tag release2.0 master
git push --tags

// 合并到develop
git checkout develop
git merge --no-ff release_v2.0


  1. 开始hotfix
// 从主线master拉出一个hotfix分支
git pull origin master //可选,获取最新版本
git checkout -b hotfix_v2.0.1 master


  1. 完成hotfix,合并到master和develop,并在master上打tag。
// 合并hotfix_v2.0.1到master
git checkout master
git merge --no-ff hotfix_v2.0.1

// 在master打上tag
git tag hotfix2.0.1 master
git push --tags

// 合并hotfix_v2.0.1到develop
git checkout develop
git merge --no-ff hotfix_v2.0.1


五、分支命名规范

  • 命名都统一采用小写
  • feature分支:以"feature_"开头,如feature_v1.1
  • release分支:以"release_"开头,如release_v1.1
  • hotfix分支:以"hotfix_"开头,如hotfix_20160112
  • tag标记:如果是release分支合并,则以"release_"开头。如果是hotfix分支合并,则以"hotfix_"开头。
  • master分支每次提交都要打tag,release tag:如release_v1.1,hotfix tag:如hotfix_20160112