Git hooks 工具 husky 安装和使用详解

11 min read

Git Hooks 工具 husky 是一个用于管理 Git 钩子的 Node.js 库。它提供了一个简单的方式,在提交、推送等 Git 钩子事件触发时,执行脚本命令。

使用 husky 可以极大地简化代码的流程和规范性,例如在提交代码之前运行 eslint 或进行代码格式化,来检查和统一代码规范,提高代码质量。

以下是 husky 的安装和使用步骤:

  1. 安装 husky

可以使用 npm 进行安装:

npm install husky --save-dev

或者使用 yarn:

yarn add husky --dev
  1. 配置 husky 事件

将 husky 事件的处理程序添加到您的 package.json 文件中:

{
  "husky": {
    "hooks": {
      "pre-commit": "npm run lint",
      "pre-push": "npm test"
    }
  }
}

上述规则表示,在进行提交操作前先运行 npm run lint,当进行推送操作前先运行 npm test。可以配置多个钩子事件,根据您的需要来操作。

尽管使用 npm 脚本运行是常见的钩子操作,但您也可以运行任何有效的 shell 命令,例如运行 ESLint 或 Prettier。

  1. 测试 husky

在您的 git 仓库中进行检查:

git commit -m "Test commit"

在进行提交操作时,npm run lint 会在提交代码前被运行,并输出操作结果。如果是 tests 也将会执行。如果您的代码没有满足 linter 的代码格式也会被拒绝提交,直到修复问题。

通过 husky 工具,您可以像上述操作一样,在推送、合并分支等事件前执行任何操作,从而保持代码的规范性和质量。