Vincent Driessen 的观点:http://nvie.com/posts/a-successful-git-branching-model/
Git Flow 是一个 git 扩展集
你可以理解 Git Flow 是一个基于 Git 的插件,这个插件简化了 Git 一些复杂的命令,比如 Git Flow 用一条命令,就可以代替 Git 原生 10 条命令。master
,Git 代码仓库中默认的一条主分支。这条分支上的代码一般都建议为是正式版本的代码,并且这条分支不能进行代码修改,只能用来合并其他分支。develop
,一般用于存储开发过程的代码分支,并且这条分支也不能进行代码修改,只能用来合并其他辅助分支。feature branches
(功能分支)基于develop
分支上创建
开发完成后合并到 develop
分支上
Feature branches
。等待这个新功能开发完成并确定应用到新版本中就合并回 develop
。feature branches
,start
之后,开发完成后可以直接 finish
。feature branches
,start
之后,开发完成后先 publish
给其他开发人员进行合并,最后大家都开发完成后再 finish
。这个思路也同样适用下面几个辅助分支场景。feature branches
开发过程有 bug,直接在 feature branches
上修改、提交。release branches
(预发布分支)基于 develop
分支上创建测试
确定新功能没有问题,合并到 develop
分支和 master
分支上
hotfix branches
(基于 master
基础上的生产环境 bug 的修复分支)基于 master
分支上创建
修复测试无误后合并到 master
分支和 develop
分支上
brew install git-flow-avh
wget --no-check-certificate -q
https://raw.githubusercontent.com/petervanderdoes/gitflow-avh/develop/contrib/gitflow-installer.sh && sudo bash gitflow-installer.sh
install stable; rm gitflow-installer.sh
Git Flow Integration 插件的使用