Git Hooks 工具 husky 是一个用于管理 Git 钩子的 Node.js 库。它提供了一个简单的方式,在提交、推送等 Git 钩子事件触发时,执行脚本命令。
使用 husky 可以极大地简化代码的流程和规范性,例如在提交代码之前运行 eslint 或进行代码格式化,来检查和统一代码规范,提高代码质量。
以下是 husky 的安装和使用步骤:
- 安装 husky
可以使用 npm 进行安装:
npm install husky --save-dev
或者使用 yarn:
yarn add husky --dev
- 配置 husky 事件
将 husky 事件的处理程序添加到您的 package.json 文件中:
{
"husky": {
"hooks": {
"pre-commit": "npm run lint",
"pre-push": "npm test"
}
}
}
上述规则表示,在进行提交操作前先运行 npm run lint
,当进行推送操作前先运行 npm test
。可以配置多个钩子事件,根据您的需要来操作。
尽管使用 npm 脚本运行是常见的钩子操作,但您也可以运行任何有效的 shell 命令,例如运行 ESLint 或 Prettier。
- 测试 husky
在您的 git 仓库中进行检查:
git commit -m "Test commit"
在进行提交操作时,npm run lint
会在提交代码前被运行,并输出操作结果。如果是 tests 也将会执行。如果您的代码没有满足 linter 的代码格式也会被拒绝提交,直到修复问题。
通过 husky 工具,您可以像上述操作一样,在推送、合并分支等事件前执行任何操作,从而保持代码的规范性和质量。