这是什么?
Husky 是一个便于设置和管理 Git 钩子的工具,让脚本能在提交或推送等 Git 事件发生时自动运行。
这是我需要导入的库,还是需要运行的命令行工具?
它是一个小型的命令行工具/npm 包,作为开发依赖安装;你不需要导入任何 API,只需让它为你创建和管理钩子脚本即可。
怎样把它添加到我的项目中?
使用 npm(或 yarn/pnpm)将其安装为开发依赖,然后运行它的 init 命令,这会创建一个 .husky 文件夹,里面存放你的钩子脚本。
除了 Node 和 Git,我还需要别的东西吗?
Husky 本身没有列出任何运行时依赖;它只需要 Node.js 18 或更高版本,以及一个可以挂接钩子的 Git 仓库。
它在 Windows 上和在 Mac、Linux 上的表现一样吗?
作为一个没有针对特定操作系统代码的 Node.js 命令行工具,只要有 Node 18+ 和 Git,husky 在 Windows、macOS 和 Linux 上的运行方式都一样。
使用 husky 时,Git 钩子通常用来做什么?
常见用途包括在提交或推送之前自动运行代码检查工具、测试或格式化工具,在问题进入代码仓库之前就将其发现。
husky 还在积极维护吗?
该仓库有活跃的 CI 工作流,用于测试、npm 发布和部署,说明它一直在保持更新。
我为什么要用 husky,而不是自己编写 .git/hooks 脚本?
Husky 通过 package.json 或配置文件为你管理钩子的安装和版本,因此钩子可以在团队中共享,而不是只存在于本地、未纳入版本控制的 .git 文件夹中。
What are similar projects?
commitlint, cz-cli, diff-so-fancy, procoder, gulp, git-cliff, truffle, lerna
Which topics is it in?
commit, script, hooks, version-control, build-tool, code-quality, workflow-automation, ci, git, testing, npm, automation