Git Flow分支管理
1、Git Flow常用分支
Git Flow常用分支主要分为两类:主干分支和辅助分支。其中,主干分支包括master和develop,会一直存在;辅助分支包括feature、release和hotfix。
1.1 主干分支
master
所有提供给用户使用的正式版本,都在这个主分支上发布
只读唯一分支,这个分支只能从其它分支(release/hotfix)合并,不能在这个分支上直接修改
所有在master上的推送应该标记tag
develop
主开发分支 , 基于master分支克隆
包含所有要发布到下一个release的代码
只读唯一分支,只能从其他分支(feature/release/hotfix)合并。
1.2 辅助分支
feature
功能分支,基于develop分支克隆,主要用于新需求新功能开发
功能开发完成后合并回develop分支进入下一个release,可删除当前feature分支
feature分支绝不能和master分支交互
release
预发布分支,基于feature分支合并到develop之后 , 从develop分支克隆,之后不要合并新的改动到release分支
测试人员对release分支进行功能测试,测试过程中发现的bug在本分支进行修复
修复完成上线后合并到develop/master分支并推送(完成功能),在master打tag,记住release版本号
release分支不添加任何新功能,除了bug修复,文件生成和面向发行版的任务改动
功能上线后可删除release分支
hotfix
补丁分支,基于master分支克隆,用于对线上版本进行快速bug修复
修复完成后合并到master/develop分支推送并打tag
所有hotfix分支的改动会进入下一个release
2、Git Flow工作流程
下图较清晰的描述了Git Flow的工作流程:
3、Git Flow命令
Git Flow 常用命令如下:
复制代码
###初始化###
$ git flow init
###功能开发###
查看feature分支:git flow feature
开始新feature:git flow feature start [] (必须是develop分支的一个提交)
push一个feature到远程:git flow feature publish
从远程pull一个feature:git flow feature pull
完成一个feature:git flow feature finish
###代码发布###
查看release分支:git flow release
开始一个release: git flow release start [] (必须是develop分支的一个提交)
完成一个 release:git flow release finish
###问题修复###
查看hotfix分支:git flow hotfix
开始一个hotfix:git flow hotfix start [] (必须是master分支的一个提交)
完成一个hotfix:git flow hotfix finish
复制代码