Git 是事实上的版本控制标准,但真正影响团队效率的不是"会不会 git add",而是分支策略、提交规范、发布节奏与冲突处理方式。经典 Git Flow 分支繁多、流程沉重,对交付频率高、需求迭代快的团队并不友好。本章介绍更适合中小型后端团队的轻量主干协作模型,并给出提交规范与冲突处理的最佳实践。
| 分支 | 用途 | 生命周期 |
|---|---|---|
main | 随时可发布的主干 | 常驻 |
feature/* | 短周期功能开发 | 数天 |
release/* | 有明确发布窗口时创建 | 发布即删 |
hotfix/* | 线上紧急修复 | 小时级 |
相比经典 Git Flow(master/develop/feature/release/hotfix 五分支常驻),轻量主干模型:
git checkout -b feature/user-profile # 从 main 拉功能分支
git add .
git commit -m "feat: add user profile query api"
git fetch origin
git rebase origin/main # 合并前先变基到最新主干
git push origin feature/user-profile # 推送后发起 PRmerge 与 rebase 的选择:
| 方式 | 历史形态 | 适用 |
|---|---|---|
merge | 保留合并提交,历史有分叉 | 团队协作、需要保留发布节点 |
rebase | 线性历史,无分叉 | 个人分支整理、保持主干干净 |
实践建议:个人功能分支用 rebase 保持线性,合并回主干用 merge 保留发布节点;需要精确回溯"何时合入"用 merge commit,追求整洁历史用 rebase。
| 前缀 | 含义 | 示例 |
|---|---|---|
feat: | 新功能 | feat: add user profile query api |
fix: | 缺陷修复 | fix: resolve NPE in order callback |
refactor: | 重构 | refactor: extract payment strategy |
docs: | 文档更新 | docs: update deployment guide |
chore: | 构建或工具调整 | chore: bump docker base image |
规范化的提交信息让 git log、git bisect 与自动生成 changelog 成为可能。
git log 双方意图,必要时当面沟通);下一章讲解前端私有化 NPM 仓库管理——依赖私有化、版本锁定与构建提速的工程实践。