🌿 简化 Git 分支工作流(个人 / 小团队)
本工作流基于 Git Flow 精简而来,适合个人或小团队,既规范又不复杂。
🚀 1. 主分支(长期分支)
main- 永远保持稳定、可发布的状态。
- 部署到生产环境的代码都来自这里。
对于小团队,通常只需要
main,不需要维护develop。
🛠️ 2. 功能开发(Feature Branch)
- 分支命名:
feature/<功能名> - 用途:开发新功能,完成后合并回
main。
示例:
feature/login-api
feature/user-profile
流程:
# 从 main 创建功能分支
git checkout -b feature/login-api main
# 开发完成后,合并到 main
git checkout main
git merge feature/login-api
git branch -d feature/login-api
🐞 3. Bug 修复(Bugfix Branch)
- 分支命名:
bugfix/<问题名> - 用途:修复测试或开发环境的 bug。
示例:
bugfix/fix-login-redirect
流程同 feature 分支,完成后合并回 main。
🔥 4. 紧急修复(Hotfix Branch)
- 分支命名:
hotfix/<问题名> - 用途:生产环境出现严重问题时的快速修复。
示例:
hotfix/security-patch
流程:
git checkout -b hotfix/security-patch main
# 修复问题,提交
git checkout main
git merge hotfix/security-patch
git branch -d hotfix/security-patch
📦 5. 版本发布(Release / Tag)
- 如果需要版本管理,可以使用 Git Tag 标记发布版本。
- 不需要单独的
release分支。
示例:
git tag v1.0.0
git push origin v1.0.0
✅ 最小可行规范(推荐)
- 永久分支:
main - 临时分支:
feature/...、bugfix/...、hotfix/... - 发布用 Git Tag,不单独建
release分支。
这样既规范,又不会增加太多复杂度。
📊 分支生命周期流程图
gitGraph
commit id: "初始化 main"
branch feature/login-api
commit id: "开发登录 API"
checkout main
merge feature/login-api id: "合并功能分支"
branch bugfix/fix-redirect
commit id: "修复登录跳转 Bug"
checkout main
merge bugfix/fix-redirect id: "合并 Bug 修复"
branch hotfix/security-patch
commit id: "紧急安全补丁"
checkout main
merge hotfix/security-patch id: "合并 Hotfix"
commit id: "打 Tag v1.0.0"