语义化分支策略(推荐,适合中大型项目)
分支名称直接关联版本的语义化标识(MAJOR/MINOR),严格区分 “开发分支”“发布分支”“维护分支”。
| 分支类型 | 命名规则 | 对应版本范围 | 作用 |
|---|---|---|---|
main/master |
主分支 | 最新稳定版本(如 1.2.3) |
存放正式发布的代码,始终可部署生产 |
develop |
开发分支 | 下一个 MINOR 版本(如 1.3.0-SNAPSHOT |
集成各功能分支,作为新版本开发的基线 |
release/x.y.z |
发布分支 | 特定版本(如 1.2.3) |
从 develop 分支创建,仅修复 bug,不新增功能,最终合并到 main 和 develop |
hotfix/x.y.z |
紧急修复分支 | 补丁版本(如 1.2.4) |
从 main 分支创建,修复生产环境 bug,合并到 main 和 develop |
feature/xxx |
功能分支 | 开发中版本(无固定版本号) | 从 develop 分支创建,开发完成后合并回 develop |
示例流程:
- 开发
1.3.0新功能:在feature/xxx分支开发 → 合并到develop(版本为1.3.0-SNAPSHOT)→ 发布前创建release/1.3.0分支(修复 bug,版本锁定为1.3.0)→ 合并到main并打 Tagv1.3.0→ 部署生产。 - 生产 bug 修复:从
main创建hotfix/1.2.4→ 修复后合并到main(Tagv1.2.4)和develop→ 部署生产。