Git 分支管理与团队协作工作流

Alex Chen | 2026-08-27T20:54:29 | DevOps

对比 Git Flow、GitHub Flow 和 Trunk-Based 三种工作流模式,给出不同团队规模的推荐选择和实操命令。

# Git 分支管理与团队协作工作流 ## 一、Git Flow 适合版本发布周期较长的项目(如移动端 App)。 ``` main ─────────────●────────────●─────── / \ / \ release ──● ●── ● ●── / \ / \ develop ─●──●──●──●──●──●──●──●──●──●── \ / feature ●──● ``` ```bash # 创建功能分支 git checkout -b feature/user-auth develop # 完成功能,合并回 develop git checkout develop git merge --no-ff feature/user-auth git branch -d feature/user-auth # 创建发布分支 git checkout -b release/1.2.0 develop # ... 修复 bug ... git checkout main git merge --no-ff release/1.2.0 git tag -a v1.2.0 -m "Release 1.2.0" git checkout develop git merge --no-ff release/1.2.0 ``` ## 二、GitHub Flow 适合持续部署的 Web 项目,规则简单:main 永远可部署。 ```bash # 1. 从 main 创建分支 git checkout -b fix/login-error main # 2. 开发并提交 git add . git commit -m "fix: resolve login session timeout issue" # 3. 推送并创建 PR git push -u origin fix/login-error gh pr create --title "fix: login session timeout" --body "..." # 4. Code Review 通过后合并 gh pr merge --squash # 5. 自动部署到生产环境 ``` ## 三、Trunk-Based Development 适合高效能团队,所有人直接在 main 上开发,配合 Feature Flag 控制功能发布。 ```bash # 短生命周期分支(不超过 1 天) git checkout -b feat/quick-fix main # ... 少量改动 ... git checkout main git merge feat/quick-fix git push origin main ``` ```javascript // Feature Flag 控制 if (featureFlags.isEnabled('new-dashboard')) { renderNewDashboard(); } else { renderOldDashboard(); } ``` ## 四、三种工作流对比 | 维度 | Git Flow | GitHub Flow | Trunk-Based | |------|---------|-------------|-------------| | 复杂度 | 高 | 低 | 最低 | | 发布频率 | 周/月 | 天 | 小时 | | 适合团队 | 大型 | 中小型 | 高效能 | | CI/CD 要求 | 低 | 中 | 高 | ## 五、常用 Git 技巧 ```bash # 交互式暂存部分修改 git add -p # 查看某行代码的修改历史 git log -p -S "function_name" -- path/to/file.js # 找出引入 bug 的提交 git bisect start git bisect bad HEAD git bisect good v1.0.0 # Git 自动二分查找... # 清理已合并的本地分支 git branch --merged main | grep -v main | xargs git branch -d ``` ## 建议 团队刚开始协作用 GitHub Flow,成熟后过渡到 Trunk-Based。Git Flow 仅适合有严格版本发布节奏的场景。

← Back to Blog