首页/开发/Git 与协作速查/commitlint 校验提交信息
协作与代码评审75 条

commitlint 校验提交信息

用 @commitlint/cli 配合 @commitlint/config-conventional 校验提交是否符合约定;本地钩子拦截、CI 全量检查都能用。

Git 与协作速查开发更新于 2026-10-12
安装npm i -D @commitlint/cli @commitlint/config-conventional
配置文件commitlint.config.js 中 extends 内置规范
常用参数--from/--to 检查提交区间;--edit 校验钩子传入的信息文件

配置示例

配置示例
// commitlint.config.js
module.exports = {
  extends: ['@commitlint/config-conventional'],
  rules: { 'subject-case': [0], 'header-max-length': [2, 'always', 100] },
};

命令行使用

命令行使用
npx commitlint --from origin/main --to HEAD --verbose
npx commitlint --edit
规则可逐条覆盖:例如关闭 subject 大小写限制、把标题长度放宽到 100,以适配中文团队。

易错点

  • 只在本地钩子校验很容易被 --no-verify 绕过,CI 里对 PR 区间再跑一次更可靠
  • 合并提交(Merge branch …)默认不满足规则,需要配置 ignores 或只校验非合并提交

数据来源与参考

  • commitlint 官方文档(commitlint.js.org)
  • Conventional Commits 1.0.0 规范
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌