介绍
gitflow即git工作流,它是git的扩展,它是围绕项目建立的严格git使用流程
工作流
分支 | 作用 | 来自 | 去处 | 生命周期 | 注意 |
master | 产品正式发布分支 | master | master | 只能合并不能修改,release, hotfix合并后打tag | |
hotfix | bug修复分支 | master | master, develop | 合并后删除 | |
release | 产品预发布分支 | develop | master, develop | 合并后删除 | 面向发布的修改 |
develop | 完整功能开发分支 | master | release | 只能合并不能修改 | |
feature | 子功能开发分支 | develop | develop | 合并后删除 |
产品正式发布工作流
- 使用master分支进行产品的正式发布
- master上的代码是一个完整的随时可以部署的产品
- release, hotfix合并后打tag:0.x非正式版本,1.x正式版本,2.x正式版本;主版本号(重构版本).子版本号(重大功能改进).修正版本号(小升级或bug修复)
- hotfix之后才有0.x.x(第3个x)
bug修复工作流
- 使用hotfix分支对master分支中的bug进行修复
- bug修复完成后合并到master分支和develop分支
- 合并到master分支时会给master分支打tag
- 合并到master分支和develop分支之后hotfix分支被删除
产品预发布工作流
- 使用release分支进行产品的预发布
- develop分支代码经过充分测试后发布到release分支
- release分支上只允许面向发布的修改(质量测试,文档生成,bug修复)
- release分支合并到master分支和develop分支
- release分支合并到master分支时会给master分支打上tag
- 合并完成后release分支被删除
开发工作流
- 使用develop分支进行完整功能的开发
- 只能合并禁止修改
- develop中是完整的功能,feature是子功能
- develop,merge request将feature合并到develop
新功能工作流
- 使用feature分支进行新功能开发和探索
- 新功能开发完成合并到develop分支
- 合并到develop分支后feature分支被删除
分支命名
分支 | 命名 | 例子 | 备注 |
master | master | ||
hotfix |
|
| 版本号等于合并时给master分支打的tag |
release | release-版本号 |
| 版本号等于合并时给master分支打的tag |
develop | develop | 管理人员 | |
feature |
| feature-minio_util | 开发人员 |
commit信息
todo
常用命令
todo