1. 前言
Git 作为分布式版本控制系统,其高效性依赖于团队统一的操作规范。本规范基于行业最佳实践(如 Git Flow、Conventional Commits),结合团队协作场景优化,旨在解决以下问题:
- 分支混乱导致的版本追溯困难
- 提交信息模糊引发的历史理解成本高
- 协作中冲突频发、代码覆盖风险
- 发布流程不规范导致的生产环境稳定性问题
执行原则:规范不是约束,而是协作共识,需团队全员遵守并定期迭代优化。
2. 分支管理规范
采用 '主分支 + 支持分支' 的分层模型,明确各分支的职责、生命周期及命名规则,避免分支冗余。
2.1 分支类型与定义
| 分支类型 | 命名规则 | 来源分支 | 合并目标分支 | 生命周期 | 核心职责 |
|---|---|---|---|---|---|
| 主分支 | main | 项目初始化 | 仅接收 hotfix/release | 永久存在 | 存放生产环境代码,始终保持可部署状态 |
| 开发主分支 | develop | 从 main 创建 | 接收 feature,合并到 release | 永久存在 | 整合功能开发代码,作为下一次发布的基础 |
| 功能分支 | feature/[需求 ID]-[功能描述] | develop | 仅合并到 develop | 功能合并后删除 | 开发新功能或迭代优化,隔离开发过程 |
| 紧急修复分支 | hotfix/[BUG ID]-[修复描述] | main | 合并到 main + develop | 修复完成后删除 | 紧急修复生产环境 bug,不影响正常开发流程 |
| 发布分支 | release/[版本号] | develop | 合并到 main + develop | 发布完成后删除 | 预发布测试,仅修复测试中发现的 bug,不新增功能 |
| 测试分支(可选) | test/[测试场景]-[日期] | 任意开发分支 | 不合并到主分支 | 测试完成后删除 | 临时测试特定场景(如性能测试、兼容性测试) |
2.2 命名规范细则
- 需求 ID/BUG ID:必须关联团队需求管理工具(如 Jira、Teambition)的唯一 ID,便于追溯(例:
REQ-2024001、BUG-2024058)。 - 功能描述:使用小写字母 + 连字符,不超过 5 个单词,清晰表达核心内容(例:
user-login-verify而非login)。 - 版本号:遵循语义化版本(见 5.1 节),格式为 (例:)。

