husky管理git-hooks,实现commit之前进行校验

114 阅读1分钟

1.释义:git hooks是一些自定义的脚本,用于控制git工作的流程,分为客户端钩子和服务端钩子。

2.安装husky:

npm install husky --save-dev

2.初始化husky: 两种方式: 方式一:

npx husky install

方式二:

package.json:{
    scripts: {
        "prepare": "husky install"
    }
}

// 执行:
yarn prepare

3.变化如下:

3.1在.git同级目录生成.husky文件夹,文件夹下有一个可以编辑的示例pre-commit钩子

3.2在package.json中的scripts中添加了"prepare": "husky install"

3.3更改.git文件下面的config文件,配置项 core.hooksPath.husky

4.创建一个pre-commit hook:

npx husky add .husky/pre-commit 'yarn lint-staged'

5.package.json配置lint-staged:

"husky": {
    "hooks": {
        "pre-commit": "lint-staged"
    }
},
"lint-staged": {
    "src/**/*.{js,jsx,tsx,ts}": "eslint",
    "src/**/*.{css,less}": "stylelint"
}