Git提交代码Commit消息企业级规范
Git Commit 类型完整指南
类型 | 用途 | 示例 |
---|---|---|
feat | 新增功能(面向用户的功能性变更) | git commit -m "feat: 添加用户登录功能" |
fix | 修复 Bug(解决代码中的问题) | git commit -m "fix: 修复首页加载崩溃问题" |
docs | 文档更新(README、注释等) | git commit -m "docs: 更新 API 接口文档" |
style | 代码样式调整(空格、格式化、分号等,不改变逻辑) | git commit -m "style: 调整缩进为 2 空格" |
refactor | 代码重构(优化结构但无功能变化) | git commit -m "refactor: 提取支付逻辑到独立模块" |
perf | 性能优化(提升执行效率) | git commit -m "perf: 减少首屏渲染时间 200ms" |
test | 测试用例(单元测试、E2E 测试) | git commit -m "test: 添加用户注册流程测试" |
build | 构建工具或依赖变更(Webpack、npm 等) | git commit -m "build: 升级 Vue 到 3.2" |
ci | CI/CD 配置变更(GitHub Actions、Docker 等) | git commit -m "ci: 添加自动化部署流程" |
chore | 杂项任务(非代码/文档的改动,如更新脚本) | git commit -m "chore: 更新依赖版本" |
revert | 回滚之前的提交 | git commit -m "revert: 撤销某次错误的合并" |
进阶用法
1. 添加范围(Scope)
指定影响的范围(模块、组件、文件等):
git commit -m "feat(login): 添加短信验证码登录" git commit -m "fix(router): 修复路由重定向循环问题"
2. 多行提交消息
复杂变更可使用多行描述(第一行是摘要,空一行后写详情):
git commit -m "feat: 支持暗黑模式 > > - 新增主题切换组件 > - 添加全局样式变量 > - 适配所有页面组件"
3. 关联 Issue
在消息中引用问题跟踪(如 GitHub Issue):
git commit -m "fix: 解决滑动卡顿问题 (close #123)"
为什么需要规范?
- 自动化生成 CHANGELOG(通过工具如
standard-version
)。 - 清晰的历史记录:快速定位特定类型的变更。
- 触发语义化版本号(SemVer):
feat
→ 次版本号v1.2.0
fix
→ 修订号v1.2.1
BREAKING CHANGE
→ 主版本号v2.0.0
常见问题
Q:拼写错误怎么办?
- 使用
git commit --amend
修改最后一次提交:git commit --amend -m "feat: 正确的提交消息"
Q:如何绕过 Husky 检查?
- 添加
--no-verify
(仅紧急情况下使用):git commit -m "xxx" --no-verify
工具推荐
- Commitizen:交互式生成合规的提交消息
npx cz
- Commitlint:检查提交消息格式(你项目已配置)
规范提交消息能让团队协作更高效!