规范Git Message的原因
- 提升协作效率
清晰一致的提交信息,方便团队成员快速理解每次改动的目的。
例如:fix(login): 修复登录按钮点击无效的问题
一看就知道修改了什么,为什么改 - 便于自动生成变更日志(Changelog)
结合工具(如standard-version、semantic-release),可以根据commit message自动生成版本日志 - 支持语义化版本控制(Semantic Versioning)
根据feat、fix等关键词自动决定是否bump版本号(major/minor/patch) - 让Git历史更清晰可读
规范的结构(如Conventional Commits)让git log阅读体验更佳,便于回溯和审计 - 便于代码审查和CI/CD流程集成
可以通过提交信息触发特定动作,例如:自动部署、触发测试、或关联JIRA任务


1. 安装和配置husky
拦截提交钩子,触发自动校验
作用:在git commit前后执行脚本,例如校验提交信息
1 | # 安装husky |
2. 安装和配置commitlint
校验提交格式
作用:验证提交信息是否符合规范,比如Conventional Commits格式
1 | # 安装commitlint及其规则(注意Node版本限制) |
3. 安装和配置commitizen
引导填写commit message
作用:提供交互式命令行,帮助填写规范化的commit message
1 | yarn add -D commitizen |
然后在package.json添加脚本命令
1 | "scripts": { |
4. 配置prepare-commit-msg
作用:防止开发者手动绕过cz,统一通过交互式方式填写commit
1 | # .husky/prepare-commit-msg |
🚀最终使用流程
- 执行npm run commit或yarn commit,启动Commitizen
- 提交信息将按规范生成
- husky拦截commit-msg,由commitlint检查格式
- 格式正确则提交成功,错误则阻止提交