Git 分支管理实践

1 分支管理策略

在团队协作中,清晰的分支管理策略至关重要。我推荐使用 main + develop/版本号 + release/版本号 的分支管理方式。这种方式不仅适合中小型团队,对于大型团队同样适用——大型团队可以在此基础上按模块或子系统并行维护多个 develop 分支,各自独立开发、互不干扰,最终统一汇入对应的 release 分支发布。

2 分支说明

2.1 main 分支

  • 主分支,始终保持稳定
  • 只接受来自 release 分支的合并
  • 代表生产环境的代码

2.2 develop/版本号 分支

  • 开发分支,用于日常开发
  • 命名格式:develop/1.0.0
  • 从 main 分支创建
  • 开发完成并发布后需要删除

2.3 release/版本号 分支

  • 发布分支,代表已发布的版本
  • 命名格式:release/1.0.0
  • 从对应的 develop 分支创建
  • 合并到 main 后长期保留,便于追溯

3 工作流程

  1. 开始新版本开发
git checkout main
git pull
git checkout -b develop/1.0.0
  1. 日常开发
git checkout develop/1.0.0
# 进行开发工作
git add .
git commit -m "feat: 添加新功能"
git push origin develop/1.0.0
  1. 准备发布
git checkout develop/1.0.0
git checkout -b release/1.0.0
git push origin release/1.0.0
  1. 合并到 main
git checkout main
git merge release/1.0.0
git tag 1.0.0
git push origin main --tags
  1. 删除 develop 分支
# 删除本地分支
git branch -d develop/1.0.0

# 删除远程分支
git push origin --delete develop/1.0.0

4 优势

  • 清晰的版本管理:通过分支名称即可了解版本状态
  • 历史可追溯:release 分支长期保留,便于回溯
  • 分支整洁:develop 分支发布后删除,避免分支堆积
  • 流程简单:相比 Git Flow 更轻量,中小型团队可直接使用
  • 横向扩展:大型团队可并行维护多个 develop 分支(如 develop/1.0.0-moduleAdevelop/1.0.0-moduleB),按模块独立开发,发布时统一合入 release 分支

5 注意事项

  1. develop 分支仅用于开发阶段,发布后必须删除(大型团队中各模块的 develop 分支同样需要在发布后清理)
  2. release 分支创建后不应再进行功能开发,仅做 bug 修复
  3. 所有 release 分支都要合并到 main 并打上对应的 tag
  4. 版本号建议遵循语义化版本规范(Semantic Versioning
Author: ismdeep
License: Copyright (c) 2025 CC-BY-NC-4.0 LICENSE