首页/开发/Git 与协作速查/commit-msg 钩子接入提交校验
协作与代码评审75 条

commit-msg 钩子接入提交校验

在 .git/hooks/commit-msg(或 core.hooksPath 统一目录)里调用校验器,提交信息不合格时直接拒绝提交,把规范前移到本地。

Git 与协作速查开发更新于 2026-10-12
钩子位置.git/hooks/commit-msg,或 core.hooksPath 指定目录
传入参数保存提交信息的临时文件路径
执行时机git commit 生成信息之后、提交完成之前

钩子示例(提交校验)

钩子示例(提交校验)
#!/bin/sh
npx --no-install commitlint --edit "$1"

统一钩子目录

统一钩子目录
git config core.hooksPath .githooks
chmod +x .githooks/commit-msg
钩子不随 clone 分发,需要每台机器安装或由工具框架统一管理;文件必须可执行,否则静默不生效。

易错点

  • Windows 上钩子缺少可执行位或换行符不对会静默失败,先手动执行一次确认
  • 钩子文件在 .git 目录内不受版本控制,团队需要额外分发方案(如 .githooks 入库)

数据来源与参考

  • Git 官方文档:githooks(commit-msg)
  • Git 官方文档:git-config(core.hooksPath)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌