文章目录
- 前言
- 一、什么是GitFlow?
- 二、GitFlow分支解析
- 三、GitFlow工作流程
前言
版本控制是软件开发中重要的工作场景,而git作为目前主流的分布式版本控制系统,如何高效准确的使用是一个难题,本文介绍了一种gitflow工作流,为团队提供了一套清晰、高效的分支管理方案。
一、什么是GitFlow?
GitFlow作为git的一种指导方针,针对git提供了一套标准化的分支管理模型。通过定义一套清晰的分支规则和角色,来维持代码库的整洁和项目的可维护性。
二、GitFlow分支解析
| 分支类型 | 说明 |
|---|---|
| main | 生产环境基线。发布时在合并后打 Tag (如 v1.0.0)。只接受来自 release 和 hotfix分支的合并。 |
| Dev | 开发主线。包含项目的所有功能,是团队开发的主要分支,所有新功能分支都基于dev创建。接受来自 feature、hotfix 和 release 的合并。 |
| Feature | 功能开发分支。主要专注于单一功能的开发,每个分支对应实现一个功能。 |
| Release | 发布分支。介于main和dev之间的分支,用于发布前团队进行全面的测试和修复问题,发布后需要合并回dev和main分支,然后删除。 |
| Hotfix | 热修复分支。用于紧急修复问题的特殊分支,问题修复后需要合并回dev和main分支。 |
三、GitFlow工作流程
1基于main分支创建dev分支:将dev分支设置为默认分支。
2.新功能开发:在新功能开发前,从dev分支拉出feature分支,然后在feature分支上进行开发,开发完成后将feature分支合并回dev分支。
3.准备发布:准备发布操作时,从dev分支创建一个Release分支,并在Release分支上进行全面的测试、修复bug。
4.发布新版本:测试通过后,将Release分支合并回Master分支和Develop分支,并打上版本号标签。
5.处理线上紧急问题:如果发现生产环境中有紧急问题,从对应分支创建一个Hotfix分支进行修复,并将修复合并回Master分支和Develop分支。
6.定制化分支:若有区别于产品主线的客户定制化需求,可以从main分支拉出定制化分支独立维护,后续可用于主线的修复和定制化功能可以重构合并回dev分支。