| 位置 | .git/hooks/(样例带 .sample 后缀) |
|---|---|
| 启用 | 去掉后缀并赋予可执行权限 |
| 特点 | 不进版本库、不随 clone 分发;退出码非 0 会中断当前操作 |
常用钩子
| 钩子 | 触发时机 | 典型用途 |
|---|---|---|
| pre-commit | 提交前 | 格式检查、敏感信息扫描 |
| commit-msg | 提交信息生成后 | 提交信息规范校验 |
| pre-push | 推送前 | 跑单测、阻止不合规分支 |
| pre-receive | 服务端接收推送时 | 统一强制策略 |
| post-checkout | 检出后 | 生成环境文件、提示 |
钩子目录示例
钩子目录示例
.git/hooks/
pre-commit.sample
commit-msg.sample
# 启用:mv pre-commit.sample pre-commit && chmod +x pre-commit