文本介绍 husky 如何让基于 Git 的项目更加自动化

概述

husky 让基于 git hook 的项目自动化更加容易配置,通过 husky 可以方便的在 commit 之间进行 lint/test 。

简要阅读 官方指南 即可上手使用:

初始化:

npm add --save-dev husky && npx husky init

上面的命令会:

  • 在 package.json 中添加 prepare 脚本。
  • 创建一个可以编辑的 pre-commit 示例(默认情况下,pnpm test 会在提交时运行)。
  • 配置 Git 钩子路径。

可以通过创建文件来添加 git hook:

echo "npm test" > .husky/pre-commit

hook 中的条件执行

hook 本身都是 shell 脚本,所以可以编写的很复杂,比如可以结合 lint-staged 只在某些文件发生变化时候对其进行 lint,这适用于添加 lint 的时候不影响未修改的存量代码。