背景
平常开发中使用 eslint prettier 等校验工具时, 希望在提交代码前做一次校验或版本更新触发构建脚本,之类的操作。这是就需要用到 git hook, husky 就是方便我们操作 git hook 的工具。
安装
// 安装包
npm i -D husky
// 开启 git hooks
npx husky install
使用例子
``shell
// package.json
// 配置执行脚本
{
"call": "echo 'Hello World'"
}
```shell
// 绑定 hook
npx husky add .husky/pre-commit "yarn call"
// 触发hook
git add *
git commit 'hook test'
触发 commit 之前, 打印了命令信息
.husky/
husky 默认安装在 .husky/ 目录,默认我们的hooks 都安装在该目录下。
如果某些钩子不需要使用,可以直接删除 .huksy/ 下的对应命令
命令
install 安装
husky intall <dir>
uninstall 卸载
husky uninstall
add 新增 hook
husky add <file> [cmd]
set 设置、修改 hook
husky set <file> [cmd]
// 例如
npx husky set pre-commit check-file
使用方法
指定安装目录
我们可以将husky安装到指定的目录下
npx husky install .config/husky
绕过 hooks
使用 -n/--on-verify 可以跳过 pre-commit commit-msg 钩子
git commit -m "yolo!" --no-verify
共享hooks 配置
可以通过导出配置文件的方式, 复用hooks配置或一次安装多个hook
// hooks.js
module.exports = {
'pre-commit': 'echo hello'
}
// 安装配置
npm install my-husky-scripts --save-dev
参考