别再让 Git 成为你协作开发的绊脚石!


一、为什么需要 Git 工作流?

想象一下这个场景:

你和 5 个同事一起开发一个项目,大家都在改代码。张三改了登录功能,李四改了支付模块,王五正在修复一个紧急 bug… 如果没有统一的规则,代码合并时就会乱成一团麻。

Git 工作流就是一套"交通规则",告诉团队:

  • 🚦 什么时候可以提交代码
  • 🛣️ 代码应该放在哪个分支
  • 🔄 如何安全地合并代码
  • ⚠️ 出现问题时如何回滚

二、先搞懂这 3 个核心概念

在讲工作流之前,先快速理解 Git 的基石:

概念 通俗解释 类比
仓库 (Repository) 存放项目所有代码和版本历史的地方 一个项目的"保险柜"
分支 (Branch) 代码的平行宇宙,可以独立开发不影响主线 游戏的"存档点"
合并 (Merge) 把两个分支的代码整合到一起 把两条河流汇合
main 分支 (主线)  ────────────────────────────●─────────
                         \                    /
feature 分支 (新功能)     ───────●───────────●

三、4 种主流工作流,总有一款适合你

🟢 1. 集中式工作流(最简单)

适合:个人项目、2-3 人小团队、Git 新手

所有人直接推送到 main 分支
开发者 → main 分支

操作步骤

# 每天开工先同步
git pull origin main

# 写代码...

# 提交推送
git add .
git commit -m "修复登录 bug"
git push origin main

✅ 优点:简单直观,学习成本低
❌ 缺点:容易冲突,main 分支不稳定


🟡 2. 功能分支工作流(推荐入门)

适合:中小团队、敏捷开发项目

main 分支 ─────────●─────────────────●─────────
                    \               /
feature/登录功能 ─────●─────────────●
                    \               /
feature/支付模块 ──────────●───────●

操作步骤

# 1. 从 main 创建新功能分支
git checkout main
git pull
git checkout -b feature/login

# 2. 开发功能
# ...写代码...
git add .
git commit -m "feat: 完成登录页面"

# 3. 推送分支
git push origin feature/login

# 4. 创建 Pull Request,等待代码审查
# 5. 审查通过后合并到 main

✅ 优点:主线稳定,功能隔离,便于审查
❌ 缺点:需要配合代码审查流程


🔵 3. Git Flow(最规范)

适合:有固定发布周期的项目、传统软件、版本管理严格

main (生产) ────────●────────────────────● (v1.0)
                     \                  /
develop (开发) ───────●──────●─────────●
                       \    / \       /
feature/A ──────────────●  /   \     /
feature/B ────────────────●     \   /
release/v1.0 ────────────────────●

5 种分支角色

分支 用途 命名示例
main 生产环境,随时可部署 -
develop 开发主干,集成功能 -
feature/* 新功能开发 feature/user-login
release/* 发布准备,测试修复 release/v1.2.0
hotfix/* 紧急修复 hotfix/login-bug

完整流程

# 初始化
git branch develop
git push -u origin develop

# 开发新功能
git checkout -b feature/login develop
# ...开发...
git checkout develop
git merge --no-ff feature/login

# 准备发布
git checkout -b release/v1.0 develop
# ...测试修复...
git checkout main
git merge --no-ff release/v1.0
git tag v1.0

# 同步回 develop
git checkout develop
git merge --no-ff release/v1.0

✅ 优点:流程清晰,版本可控,适合正式发布
❌ 缺点:流程复杂,小团队可能过度工程化


🟣 4. GitHub Flow(最轻量)

适合:持续部署项目、SaaS 应用、开源项目

main (始终可部署) ────●───────────────●
                       \             /
feature/xxx ────────────●───────────●
                        (PR 审查后合并)

核心规则

  1. main 分支永远保持可部署状态
  2. 任何改动都从 main 创建新分支
  3. 通过 Pull Request 进行代码审查
  4. 审查通过后立即合并并部署

✅ 优点:简单高效,适合快速迭代
❌ 缺点:不适合多版本并行维护


四、工作流选择指南

团队规模 项目类型 推荐工作流
1-3 人 个人/小项目 集中式 or 功能分支
3-10 人 敏捷开发 功能分支 or GitHub Flow
10+ 人 企业软件 Git Flow
- 持续部署 SaaS GitHub Flow
- 多版本维护 Git Flow

五、6 条黄金最佳实践

1️⃣ 分支命名要规范

# ✅ 推荐
feature/user-login
bugfix/login-error
hotfix/payment-crash
release/v1.2.0

# ❌ 避免
test
new-feature
aaa

2️⃣ 提交信息要清晰

采用 Conventional Commits 规范:

# 格式:<type>: <description>
git commit -m "feat: 添加用户登录功能"
git commit -m "fix: 修复支付页面崩溃问题"
git commit -m "docs: 更新 API 文档"
git commit -m "refactor: 重构用户模块代码"
类型 含义
feat 新功能
fix 修复 bug
docs 文档更新
refactor 代码重构
chore 构建/工具相关

3️⃣ 每天开工先同步

# 养成习惯:每天第一件事
git checkout main
git pull origin main

4️⃣ 小步提交,频繁推送

# ✅ 好:每个功能点单独提交
git commit -m "feat: 添加登录表单"
git commit -m "feat: 添加表单验证"
git commit -m "feat: 添加登录 API"

# ❌ 坏:一次性提交所有
git commit -m "完成登录功能"

5️⃣ 保护主分支

在 GitHub/GitLab 设置:

  • ✅ 禁止直接 push 到 main
  • ✅ 必须通过 Pull Request
  • ✅ 至少 1 人代码审查
  • ✅ CI 检查通过才能合并

6️⃣ 及时清理旧分支

# 查看已合并的分支
git branch --merged

# 删除本地已合并分支
git branch -d feature/login

# 删除远程分支
git push origin --delete feature/login

六、常见问题速查

❓ 合并冲突了怎么办?

# 1. 拉取最新代码
git pull origin main

# 2. Git 会标记冲突文件,手动编辑解决
# 3. 解决后标记完成
git add 冲突文件
git commit -m "解决合并冲突"

❓ 提交错了想撤回?

# 还没 push:撤销最后一次提交
git reset --soft HEAD~1

# 已经 push:创建新提交修正
git commit --amend
git push --force-with-lease  # 谨慎使用

❓ 如何查看提交历史?

# 简洁视图
git log --oneline --graph

# 查看某个文件历史
git log --follow 文件名

七、总结:选对 work flow,效率翻倍

工作流 复杂度 适用场景 推荐指数
集中式 个人/超小团队 ⭐⭐⭐
功能分支 ⭐⭐ 中小团队 ⭐⭐⭐⭐⭐
Git Flow ⭐⭐⭐⭐ 企业/正式发布 ⭐⭐⭐⭐
GitHub Flow ⭐⭐ 持续部署/开源 ⭐⭐⭐⭐⭐

最后记住

🎯 工作流没有绝对的好坏,只有适合不适合
🎯 团队统一比流程完美更重要。
🎯 先从简单的开始,随着团队成长再升级。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐