husky,一文了解这个工具

204 阅读1分钟

基础使用

husky是什么?

husky 是一个 Git Hooks 工具,借助 husky 我们可以在 git 流程的不同生命周期进行一些自动化操作。

为什么会使用它?

原生的git hooks我们只能在.git/hooks目录下去新增hook去进行操作,并且它本身也不会被git去追踪,因此只能够在本地个人使用,而通常我们是希望能够通过husky去规范整个团队开发的,为了能够被git追踪,那么我们需要在外部进行创建一个文件夹,用于专门存放hooks,然后将其与.git/hooks去链接起来,同步操作文件,这样实现被git追踪,整个团队可以使用,而做这个操作比较麻烦还繁琐。

上手使用

这里分为两部分,因为在v4版本后进行破坏性的改变,v4之后配置使用完全不一样。 整体流程:

  • v4:安装——>配置
  • v4之后:安装——>启用——>配置
旧版本 v4

安装:npm i husky@4.3.0 -D

配置有两种方式:1、package.json里配置 2、.huskyrc.json配置

// package.json
  "husky": {
    "hooks": {
      "pre-commit": "echo \"hello world\" "
    }
  }
// .huskyrc.json
{ "hooks": { "pre-commit": "jest" } }
新版本

安装:npm i husky -D

启用:npx husky init 或者 npx husky install进行初始化。

推荐使用npm husky init,因为它会自动为你在package.json的scripts字段里添加prepare: husky install,这样让其他人在npm install 的时候就会拿到git hooks文件。

初始化完成后,就会出现.husky文件夹,里面就有我们的git hooks,可以在里面进行编写脚本。也可以通过在终端输入命令:npx husky add .husky/pre-commit 'npm run test'来新增。

后续会陆续补充husky的原理,帮助理解git......