Git 分支使用规范全解(附项目示例)

本文结合实际项目开发,详细讲解如何在多人协作中使用 Git 分支,包括 maindevelopfeature/*bugfix/*release/*hotfix/* 等分支类型。


🧪 场景背景:开发一个“智能垃圾分类系统”

目标是开发一套运行于边缘设备上的垃圾识别系统,使用 AI 算法模型识别投放物,并分类投放,同时配有后台管理页面。


🌳 分支说明与实际应用示例

main 分支(生产环境稳定代码)

  • 只保留 可部署、线上运行的稳定代码
  • 任何对 main 的修改都必须经过 releasehotfix 流程合并。

示例:
部署完 v1.0.0 版本到线上的边缘设备,打 tag v1.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 拉出,修复紧急线上问题。
  • 修复后同时合并到 maindevelop

示例:
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 分支策略是第一步!🚀

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐