使用 git-flow 并不是必须的。当积攒了一定的使用经验后,很多团队会不再需要它了。当你能正确地理解工作流程的基本组成部分和目标的之后,你完全可以定义一个属于你自己的工作流程。
git-flow 的命令完全可以使用 git 命令代替 (虽然会有点复杂)
分支
master
打包发布develop
开发测试feature/
编码分支, 按功能业务从 develop 检出并创建分支, 完成后合并到 developrelease/
预发布版本, 基于 develop 创建, 完成后合并到 master 和 develophotfix/
基于 master 创建, 进行 bug 修复, 完成后合并到 master 和 develop
安装
See the Wiki for up-to-date Installation Instructions.
brew install git-flow
初始化
git flow init
1 | ➜ aaa git flow init |
feature/
从 develop 检出创建, 最终合并到 develop
开发一个新功能, 或者修复一个 bug
git flow feature start branch-name
从 develop 创建 fix-bug 修复功能
1 | ➜ aaa git:(develop) git flow feature start fix-bug |
完成功能
git flow feature finish branch-name
完成后, 默认删除 fix-bug 分支, 合并到 develop
1 | ➜ aaa git:(feature/fix-bug) git flow feature finish fix-bug |
命令总结
1 | git flow + init (初始化) |
rebase
git flow feature finish [-rFkDS] <name|nameprefix>
Finish feature
- r rebase instead of merge
- F fetch from $ORIGIN before performing finish
- k keep branch after performing finish
- D force delete feature branch after finish
- S squash feature during merge
git flow feature finish XXX
对 develop 会造成 mergegit flow feature finish -r XXX
避免 merge 使用 -r 进行 rebase