高效 Git 工作流与团队协作实践
高效 Git 工作流与团队协作实践
一个良好的 Git 工作流是团队高效协作的基础。本文将分享一套经过多个项目验证的实践方案。
分支策略
主干分支
- main — 生产环境代码,始终保持可部署状态
- develop — 开发主线,功能分支合并的目标
功能分支命名规范
feature/<issue-id>-<简短描述>
bugfix/<issue-id>-<简短描述>
hotfix/<issue-id>-<简短描述>
release/<版本号>
示例:
feature/42-user-authentication
bugfix/56-fix-login-redirect
release/v2.1.0
Commit 规范
采用 Conventional Commits 规范:
<type>(<scope>): <subject>
<body>
<footer>
Type 类型
| Type | 说明 |
|---|---|
feat | 新功能 |
fix | 修复 Bug |
docs | 文档更新 |
style | 代码格式 |
refactor | 重构 |
perf | 性能优化 |
test | 测试相关 |
chore | 构建/工具 |
示例
feat(auth): add JWT token refresh mechanism
- Add refresh token endpoint
- Implement automatic token refresh interceptor
- Add token expiry detection
Closes #42
Code Review 流程
Review 清单
- ✅ 代码逻辑是否正确
- ✅ 是否有潜在的性能问题
- ✅ 错误处理是否完善
- ✅ 是否有安全漏洞
- ✅ 测试覆盖是否充分
- ✅ 命名是否清晰
Review 评论规范
使用约定标记提高效率:
[nit] — 小问题,可忽略
[suggestion] — 建议性修改
[blocking] — 必须修改
[question] — 需要解释
Git Hooks 自动化
使用 Husky + lint-staged:
{
"husky": {
"hooks": {
"pre-commit": "lint-staged",
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
}
},
"lint-staged": {
"*.{ts,tsx}": ["eslint --fix", "prettier --write"],
"*.md": ["prettier --write"]
}
}
总结
好的工作流不是枷锁,而是让团队协作更顺畅的润滑剂。关键是团队共识和持续改进。
工欲善其事,必先利其器。