最近在弄提交代码前的格式校验,发现pre-commit钩子函数不触发了,弄了好久发现是版本
的问题
node版本:v10.16.3
git版本: 2.21.1
husky版本:5.0.9
package.json内容
"husky": {
"hooks": {
"pre-commit": "echo \"git commit trigger husky pre-commit hook\""
}
},
husky从4升级到5做了一些变动,具体变更:变动详情
遇到类似的问题解决方案:
- 查看项目中
.git
文件夹中是否创建看hooks
文件夹,如果没有,可进行重新安装;如果有,考虑版本问题 - 版本问题:
husky
使用3或4版本可正常触发pre-commit
- 使用5版本的
husky
解决方案,如下:
1.npx husky install // 创建.husky, 会在根目录下创建.husky文件夹
2.npx husky add .husky/pre-commit ... // 添加pre-commit hooks,会生成一个pre-commit执行脚本
3.在脚本中添加执行函数, 如下图所示,会在commit之前,
输出'git commit trigger husky pre-commit hook',
执行lint-staged