如何制定团队Git开发协作规范指引?
摘要:团队 Git 开发协作规范指引 一、文档目的 统一团队 Git 分支管理、代码提交、合并及发布流程,规范多人协作模式,保证代码可追溯、分支清晰、生产环境稳定,降低协作冲突与线上风险。 二、核心分支定义(固定不可修改) 分支名称 类型 作用
团队 Git 开发协作规范指引
一、文档目的
统一团队 Git 分支管理、代码提交、合并及发布流程,规范多人协作模式,保证代码可追溯、分支清晰、生产环境稳定,降低协作冲突与线上风险。
二、核心分支定义(固定不可修改)
分支名称
类型
作用
权限控制
master
生产稳定分支
存放已上线、可直接部署的生产代码,永远保持稳定
1. 禁止直接提交/推送
2. 仅管理员可合并发布分支
3. 必须打 Tag 固化版本
dev
开发主分支
日常开发核心分支,所有功能、bug 修复最终汇聚于此
1. 禁止直接提交代码
2. 仅通过 PR 合并个人分支
3. 开发人员可拉取、发起合并
release/版本号
发布分支
预发布、测试专用分支(如 release/8.4.0.900)
1. 仅从 dev 合并代码
2. 禁止直接开发
3. 上线后合并 master 并删除
feature/功能名
功能分支
开发新功能使用(个人临时分支)
开发人员自行创建、开发,完成后删除
bugfix/问题编号
缺陷修复分支
修复测试/开发环境 bug 使用(个人临时分支)
开发人员自行创建、开发,完成后删除
hotfix/问题描述
生产紧急修复分支
仅用于线上生产环境紧急 bug修复
仅核心开发创建,必须同步合并到 dev 和 master
三、分支命名规范(强制遵守)
功能分支:feature/xxx(例:feature/user-login、feature/pay-module)
bug 修复分支:bugfix/xxx(例:bugfix/1001-login-error、bugfix/2002-pay-fail)
发布分支:release/版本号(例:release/8.4.0.900、release/8.5.0.100)
生产紧急修复:hotfix/xxx(例:hotfix/crash-fix、hotfix/data-error)
四、标准开发流程(日常功能开发)
1. 拉取最新开发代码
每次开发前,必须同步最新 dev 分支代码,避免冲突:
# 切换到 dev 分支
git checkout dev
# 拉取最新代码
git pull origin dev
2. 创建个人开发分支
禁止直接在 dev 分支开发,必须从最新 dev 拉取个人分支:
# 功能开发
git checkout -b feature/xxx
# bug 修复
git checkout -b bugfix/xxx
3. 代码提交规范
提交信息清晰明了,格式:类型: 描述
示例:
feature: 完成用户登录功能
bugfix: 修复登录验证码失效问题
小功能多次提交,禁止一次性超大提交
4. 发起合并请求(PR/MR)
开发完成后,推送个人分支到远程,发起 PR(合并请求) 合并到 dev 分支:
推送个人分支:git push origin 分支名
在代码仓库(GitLab/GitHub/Gitee)发起合并请求
分配同事/组长进行代码审阅,审阅通过后方可合并
合并完成后,删除本地及远程个人临时分支
五、版本发布流程(预发布→上线→固化)
1. 创建发布分支
从 dev 分支创建发布分支,用于测试、预发布:
git checkout dev
git pull
git checkout -b release/8.4.0.900
git push origin release/8.4.0.900
2. 代码审阅与测试
发布分支仅用于测试、修复发布阻塞问题,禁止新增功能
测试过程中发现 bug,直接在发布分支修复,修复后同步合并回 dev
必须经过代码审阅,确认无问题后才能准备上线
3. 生产环境上线
使用 release/版本号 分支代码部署生产环境,验证上线成功。
4. 合并 master 并固化版本
上线成功后,将发布分支合并到 master 分支(仅管理员操作)
在 master 分支打 Tag 永久固化版本(回滚唯一依据)git checkout master
git pull
git merge --no-ff release/8.4.0.900
git tag -a v8.4.0.900 -m "生产上线版本 v8.4.0.900"
git push origin master --tags
删除远程及本地发布分支,清理分支环境
六、生产环境紧急修复流程
仅用于线上已发布版本出现紧急 bug,禁止常规开发使用:
从 master 分支拉取紧急修复分支:git checkout master
git pull
git checkout -b hotfix/xxx
修复 bug 并测试通过
先合并到 dev 分支,保证开发代码同步修复
再合并到 master 分支,打新 Tag 上线
合并完成后删除紧急修复分支
七、强制规则与禁忌(红线要求)
禁止直接提交:master、dev 分支禁止直接提交、强制推送代码
禁止跨分支开发:所有个人分支必须从 dev 创建,发布分支必须从 dev 创建
禁止跳过审阅:dev→release、release→master 必须经过代码审阅
禁止保留废弃分支:个人分支、发布分支、修复分支使用完成后必须删除
禁止在发布分支开发功能:发布分支仅用于测试和修复阻塞问题
八、冲突处理规范
合并前先拉取目标分支最新代码,本地解决冲突后再提交
冲突代码必须与相关开发人员确认,禁止随意覆盖他人代码
冲突解决完成后,重新提交并发起审阅
九、版本 Tag 规范
格式:v主版本.次版本.修订号.发布序号
示例:v8.4.0.900、v8.5.0.100
每次合并到 master 必须打 Tag,作为版本回溯、回滚的唯一标识
文档说明
本规范为团队标准 Git 协作流程,所有开发人员必须严格遵守,如有特殊场景需调整,需统一沟通确认后更新文档。
