<本文内容来自网络>
1、git flow是什么?
Git Flow是一套使用Git进行源代码管理时的一套行为规范和简化部分Git操作的工具。git-flow 并不是要替代 Git,它仅仅是非常聪明有效地把标准的 Git 命令用脚本组合了起来。Git Flow是构建在Git之上的一个组织软件开发活动的模型,是在Git之上构建的一项软件开发最佳实践。
2、git flow定义的分支
Master分支:最近发布到生产环境的代码,最近发布的release。这个分支只能从其他分支合并,不能直接修改
Develop分支:主开发分支,包含要发布到下一个release的代码。这个主要是用于与其他分支合并,比如Feature分支
Feature分支:主要用来开发新功能。每一个特性(feature)都必须在自己的分支里开发,feature分支派生自develop分支。当feature开发完毕后,要合并回develop分支。feature分支永远不会和master分支打交道。
Release分支:release分支不是一个放正式发布产品的分支,你可以将它理解为“待发布”分支。在这个分支里面绝对不会添加新的特性。我们用这个分支干所有和发布有关的事情,比如:
把这个分支打包给测试人员测试
在这个分支里修复bug
编写发布文档
所以在这个分支里面绝对不会添加新的特性。当和发布相关的工作都完成后,release分支合并回develop和master分支。
Hotfix分支:紧急修复分支,生产事故。hotfix分支基于master分支创建,开发完后需要合并回master和develop分支,同时在master上打一个tag。所有的hotfix改动都要进入下个release。
3、新功能开发
增加新功能:
Git flow feature start myfeature
完成功能开发:
Git flow feature finish myfeature
执行动作:
合并myfeature分支到develop;
删除myfeature分支
切回develop分支
Push新功能
Git flow feature publish myfeature
Pull新功能
Git flow feature pull origin myfeature
4、发布release版本
增加新分支:
git flow release start RELEASE0.1
发布分支
git flow release publish RELEASE0.1
完成发布
git flow release finish –m ‘版本0.1’ RELEASE0.1
执行动作:
把release分支合并回master
给本次发布打tag
同时把release分支合并回develop
干掉release分支
5、紧急修复分支
新增分支:
git flow hotfix start VERSION
完成修复
git flow hotfix finish VERSION