husky 从0到1 (git hooks 工具)

背景

平常开发中使用 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   

uninstall 卸载

husky uninstall

add 新增 hook

husky add  [cmd]

set 设置、修改 hook

husky set  [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

参考

  • git 钩子
  • 官方文档

你可能感兴趣的:(husky 从0到1 (git hooks 工具))