一、什么是 Git 分支模型?
Git 分支模型,指的是团队在使用 Git 进行版本管理时,如何规划和管理各类分支,以及分支之间的协作流程和合并策略。一个清晰的分支模型能够提升团队协作效率,降低冲突和出错的概率。
二、分支命名规范
良好的分支命名规范有助于团队成员快速理解分支用途。推荐遵循以下两点:
- 见名知意:分支名应清楚表达其用途。
- 格式统一:采用
标识符/分支名格式,分支名全小写,多个单词用-连接。
常见分支类型如下表:
| 分支名 | 功能说明 |
|---|---|
main 或 master | 主分支,生产环境 |
dev 或 develop | 开发测试分支,测试环境 |
feature/xxx | 新功能开发 |
fix/xxx | 一般 bug 修复 |
hotfix/xxx | 线上紧急 bug 修复 |
bugfix/xxx | 一般 bug 修复 |
doc/xxx | 文档修改 |
style/xxx | 样式修正 |
test/xxx | 临时测试 |
refactor/xxx | 代码重构 |
perf/xxx | 性能优化 |
build/xxx | 构建工具相关修改 |
ci/xxx | CI/CD 配置修改 |
revert/xxx | 代码/功能回滚 |
merge/xxx | 解决合并冲突 |
通过
fix/xxx或bugfix/xxx表明一般 bug 修复
使用hotfix/xxx表明线上紧急 bug 修复
三、主流分支管理模型
1. Git Flow
Git Flow 是社区广泛采用的分支管理模型,结构清晰,适合中大型项目。主要分支包括:
main/master:主分支,代码始终保持可部署状态develop/dev:开发分支,日常开发和测试feature/xxx:新功能开发fix/xxx或bugfix/xxx:一般 bug 修复hotfix/xxx:线上紧急 bug 修复- 其他如
release/xxx、doc/xxx、refactor/xxx等分支
优点:流程规范,适合多人协作和频繁发布
缺点:分支较多,流程较繁琐
2. GitHub Flow
GitHub Flow 是 GitHub 官方推荐的轻量级分支管理模型,适合持续部署和小型项目。其结构非常简洁:
- 主分支:
main - 其余分支统一使用:
feature/xxx
开发新功能或修复 bug 时,从 main 拉出 feature/xxx 分支,开发完成后发起 Pull Request,审核合并后直接部署。
优点:流程简单,适合持续集成
缺点:不适合复杂发布场景
3. GitLab Flow
GitLab Flow 结合了 Git Flow 和 GitHub Flow 的优点,兼顾灵活性与规范性:
- 主分支:
main - 开发分支:
dev - 功能分支:
feature/xxx - bug 修复分支:
fix/xxx
但相对而言分支总类依旧有限,一般适合于小型,功能开发不复杂的项目。