Git 分支策略:一个高效的团队协作工作流
在软件开发的团队协作中,一个清晰、高效的 Git 分支策略是至关重要的。它能够减少代码冲突,保证主分支的稳定性,并使功能集成和版本发布变得平滑可控。本文将介绍一种基于 Gitflow 改良的常见分支策略。
核心分支
我们的策略主要围绕两个核心分支展开:
main(或master): 稳定分支。代表当前已发布的生产环境代码,其历史记录必须是线性的、稳定的。任何提交都必须是经过测试和验证的。develop: 集成分支。用于集成下一个版本要发布的所有功能,代表最新的开发状态。通常是不稳定的。
辅助分支
辅助分支是为特定目的创建的临时分支,完成后会被合并并删除。
1. 功能分支 (Feature Branches)
- 分支来源:
develop - 合并目标:
develop - 命名约定:
feature/<简短功能描述>或feat/user-authentication
用于开发新功能或进行任何改进。每个新功能都应该在自己的分支上独立开发。
创建并切换到一个新功能分支
git checkout -b feature/awesome-new-feature develop
完成开发后,合并回 develop 分支
git checkout develop
git merge --no-ff feature/awesome-new-feature
git branch -d feature/awesome-new-feature # 删除功能分支
创建发布分支
git checkout -b release/1.2.0 develop
... 进行发布前的准备工作 ...
合并到 main 分支并打上标签,正式发布
git checkout main
git merge --no-ff release/1.2.0
git tag -a v1.2.0 -m "Release version 1.2.0"
将发布分支的修改(可能有的小修复)合并回 develop
git checkout develop
git merge --no-ff release/1.2.0
删除发布分支
git branch -d release/1.2.0
从 main 分支的标签(如v1.2.0)创建热修复分支
git checkout -b hotfix/critical-login-bug main
... 紧急修复bug ...
修复完成后,合并回 main 并打上新标签
git checkout main
git merge --no-ff hotfix/critical-login-bug
git tag -a v1.2.1 -m "Hotfix for critical login bug"
同时,必须将修复合并回 develop 分支,确保后续开发也包含此修复
git checkout develop
git merge --no-ff hotfix/critical-login-bug
删除热修复分支
git branch -d hotfix/critical-login-bug