返回博客
开发中正确使用 Git 的姿势
团队开发项目,正确使用 Git
完整开发流程 + 对应 Git 命令 + 规范整理成一套可以直接落地执行的“团队操作手册”
✅ 一、分支模型
main # 生产环境(稳定)
develop # 开发主线(测试环境)
feature/* # 功能开发
release/* # 发布准备
hotfix/* # 紧急修复
✅ 二、日常开发流程(最常用)
⭐ 1. 拉取最新代码
git checkout develop
git pull origin develop
⭐ 2. 创建功能分支
git checkout -b feature/wms-inbound
👉 命名规范:
-
feature/模块-功能
-
示例:
- feature/crm-customer-tag
- feature/erp-invoice
⭐ 3. 开发 & 提交
git add .
git commit -m "feat: 入库模块基础功能"
👉 提交规范(推荐):
feat: 新功能
fix: 修复bug
refactor: 重构
docs: 文档
⭐ 4. 同步 develop(避免冲突)
git fetch origin
git rebase origin/develop
👉 推荐用 rebase(历史更干净)
⭐ 5. 推送远程
git push origin feature/wms-inbound
⭐ 6. 提交 PR(Merge Request)
👉 合并到:
develop
✅ 三、版本发布流程(重点)
⭐ 场景:准备发布 v2.0.0
🟡 1. 创建 release 分支
git checkout develop
git pull origin develop
git checkout -b release/v2.0
🟡 2. 测试 & 修复 bug
git add .
git commit -m "fix: 修复结算金额错误"
👉 ⚠️ 注意:
-
release 阶段只允许:
- bug 修复
- 文案调整
-
❌ 不允许新功能
🟡 3. 合并到 main(生产)
git checkout main
git pull origin main
git merge release/v2.0
🟡 4. 打 Tag(核心)
git tag -a v2.0.0 -m "Release v2.0.0"
git push origin main --tags
🟡 5. 回合并 develop(必须!)
git checkout develop
git merge release/v2.0
git push origin develop
🟡 6. 删除 release 分支
git branch -d release/v2.0
git push origin --delete release/v2.0
✅ 四、线上紧急修复(hotfix)
⭐ 场景:线上 bug
🔴 1. 从 main 拉分支
git checkout main
git pull origin main
git checkout -b hotfix/fix-payment-bug
🔴 2. 修复并提交
git add .
git commit -m "fix: 修复支付失败问题"
🔴 3. 合并回 main
git checkout main
git merge hotfix/fix-payment-bug
🔴 4. 打补丁版本 Tag
git tag -a v2.0.1 -m "Hotfix v2.0.1"
git push origin main --tags
🔴 5. 同步 develop(关键!)
git checkout develop
git merge hotfix/fix-payment-bug
git push origin develop
🔴 6. 删除 hotfix 分支
git branch -d hotfix/fix-payment-bug
✅ 五、版本号规范(强制执行)
vMAJOR.MINOR.PATCH
示例:
v1.0.0 # 首个版本
v1.1.0 # 新功能
v1.1.1 # bug修复
v2.0.0 # 重大升级(破坏兼容)
✅ 六、关键规范(团队必须统一)
⭐ 1. main 分支规则
- ❌ 禁止直接 push
- ✅ 必须走 PR
- ✅ 必须可部署
⭐ 2. develop 分支
- 所有 feature 合并入口
- 自动部署测试环境
⭐ 3. feature 生命周期
创建 → 开发 → PR → 合并 → 删除
⭐ 4. 禁止行为(非常重要)
❌ 不要这样:
git push origin main
❌ 不要用分支当版本:
v1
v2
v3
✅ 七、推荐增强(强烈建议)
⭐ 1. 配合 CI/CD
例如:
- push develop → 自动部署测试环境
- 打 tag → 自动部署生产
⭐ 2. 数据库迁移(Django)
python manage.py makemigrations
python manage.py migrate
👉 每个版本必须对应 migration 状态
⭐ 3. API 版本控制
/api/v1/
/api/v2/
⭐ 4. 提交规范(推荐)
feat: 新功能
fix: 修复bug
perf: 性能优化
refactor: 重构
✅ 最终一句话总结
👉 你的完整开发闭环就是:
feature → develop → release → main(tag)
↑
hotfix