Git 分支使用规范全解(附项目示例)
Git 分支使用规范全解(附项目示例)> 本文结合实际项目开发,详细讲解如何在多人协作中使用 Git 分支,包括 `main`、`develop`、`feature/*`、`bugfix/*`、`release/*`、`hotfix/*` 等分支类型。
·
Git 分支使用规范全解(附项目示例)
本文结合实际项目开发,详细讲解如何在多人协作中使用 Git 分支,包括
main
、develop
、feature/*
、bugfix/*
、release/*
、hotfix/*
等分支类型。
🧪 场景背景:开发一个“智能垃圾分类系统”
目标是开发一套运行于边缘设备上的垃圾识别系统,使用 AI 算法模型识别投放物,并分类投放,同时配有后台管理页面。
🌳 分支说明与实际应用示例
main
分支(生产环境稳定代码)
- 只保留 可部署、线上运行的稳定代码。
- 任何对
main
的修改都必须经过release
、hotfix
流程合并。
示例:
部署完 v1.0.0 版本到线上的边缘设备,打 tagv1.0.0
,此时main
是线上运行的版本。
develop
分支(日常开发整合)
- 所有开发分支的集成环境。
- 开发新功能时从它创建,开发完成后再合并回来。
示例:
准备开发“自动识别塑料瓶功能”,从develop
分出feature/auto-plastic-detect
,开发完成后合并回develop
。
feature/*
分支(开发新功能)
- 每个功能一个分支,从
develop
创建。 - 命名格式:
feature/功能名称
示例:
feature/voice-alert
:添加语音播报模块feature/web-dashboard
:开发后台管理界面
bugfix/*
分支(修复测试中发现的问题)
- 修复 尚未上线 的 bug。
- 从
develop
创建,修复后合并回develop
。
示例:
bugfix/detect-overflow
:解决投放识别时画框偏移问题bugfix/config-crash
:修复 config.yaml 文件加载崩溃
release/*
分支(发布准备)
- 从
develop
拉出,开始 版本冻结 和 发布前测试。 - 可进行小的修复,不再接受新功能。
- 通过测试后,合并到
main
(正式发布)和develop
(同步更新)。
示例:
release/v1.1.0
:准备发布包含“塑料瓶识别+语音播报”的新版本
hotfix/*
分支(紧急修复线上问题)
- 直接从
main
拉出,修复紧急线上问题。 - 修复后同时合并到
main
和develop
。
示例:
hotfix/boot-fail
:紧急修复设备启动失败的问题hotfix/api-crash
:处理线上识别服务闪退的 bug
✅ 一个完整的工作流程实例
# 新功能开发
git checkout develop
git checkout -b feature/voice-alert
# 代码编写...
# 功能完成合并回 develop
git checkout develop
git merge feature/voice-alert
# 进入发布阶段
git checkout -b release/v1.1.0
# 测试、修复...
git checkout main
git merge release/v1.1.0
git tag v1.1.0
git checkout develop
git merge release/v1.1.0
# 上线后发现严重 bug
git checkout -b hotfix/voice-bug main
# 修复...
git checkout main
git merge hotfix/voice-bug
git checkout develop
git merge hotfix/voice-bug
🎯 总结表格
分支类型 | 用途 | 来源 | 合并方向 |
---|---|---|---|
main |
线上稳定版本 | release , hotfix |
- |
develop |
日常开发集成 | feature , bugfix , release , hotfix |
- |
feature/* |
新功能开发 | develop |
develop |
bugfix/* |
修复测试阶段 bug | develop |
develop |
release/* |
发布版本准备 | develop |
main , develop |
hotfix/* |
修复线上紧急问题 | main |
main , develop |
让你的多人协作开发流程更加清晰高效,规范 Git 分支策略是第一步!🚀
更多推荐
所有评论(0)