2.5 KiB
2.5 KiB
Git分支管理规范
分支类型
| 类型 | 分支名称 | 用途 | 特点 |
|---|---|---|---|
| 主分支 | master | 正式版本代码归档 | 受保护,仅运维可合并 |
| 主分支 | develop | 日常开发主分支 | 团队开发基准 |
| 主分支 | doc | 文档、SQL脚本、配置 | 文档管理 |
| 辅助分支 | feature | 功能开发分支 | 临时性,合并后删除 |
| 辅助分支 | hotfix | Bug紧急修复 | 临时性,合并后删除 |
分支命名规则
功能分支
feature-{项目名}-{版本号}-SNAPSHOT-{日期}
示例:feature-javadog-v2.1.1-SNAPSHOT-20240703
个人分支
{功能分支}-{开发者姓名}
示例:feature-javadog-v2.1.1-SNAPSHOT-20240703-zhangsan
预生产分支
feature-{项目名}-{版本号}-{日期}
示例:feature-javadog-v2.1.1-20240703(去除SNAPSHOT标识)
热修复分支
hotfix-{项目名}-{版本号}-{日期}
示例:hotfix-javadog-v2.1.2-20240705
分支权限规则
- master/develop/doc 分支受保护,仅运维可合并
- 辅助分支为临时分支,合并后询问开发人员是否需要删除
开发流程规则
功能开发流程(五阶段)
| 阶段 | 操作 | 核心目的 |
|---|---|---|
| 开发前 | 从develop拉取功能分支 | 保持团队起始点一致 |
| 开发中 | 组员从功能分支拉取个人临时分支 | 保证开发灵活性 |
| 提测中 | 个人分支合并到功能分支 | 流水线打包提测 |
| 预生产 | 从功能分支拉取预生产分支(去SNAPSHOT标识) | 环境验证解耦 |
| 上线 | 蓝绿部署,分支合并 | 无缝切换,稳定上线 |
热修复流程
- 从 master 拉取 hotfix 分支
- 修复 Bug 后合并回 master 和 develop
- 合并后删除 hotfix 分支
蓝绿部署策略
- 定义:同时运行两个生产环境,通过切换实现无缝发布
- 优势:新版本测试期间不影响线上环境
- 流程:蓝线发布新版本 -> 验证通过 -> 蓝绿切换 -> 负载均衡
命名示例汇总
| 分支类型 | 命名格式 | 示例 |
|---|---|---|
| 功能分支 | feature-{项目}-{版本}-SNAPSHOT-{日期} |
feature-javadog-v2.1.1-SNAPSHOT-20240703 |
| 个人分支 | {功能分支}-{姓名} |
feature-javadog-v2.1.1-SNAPSHOT-20240703-zhangsan |
| 预生产分支 | feature-{项目}-{版本}-{日期} |
feature-javadog-v2.1.1-20240703 |
| 热修复分支 | hotfix-{项目}-{版本}-{日期} |
hotfix-javadog-v2.1.2-20240705 |