问题背景:在开发项目的时候,这个项目是小王同学负责的,所以我不太熟悉这个项目,在提交代码的时候,代码都是秒提交。我还以为是没有设置eslint,因为时间紧、任务重,我也没有去过多关注这个问题,提交代码的时候,代码审核,问我怎么没有过eslint,这下我就懵圈了。我找到以前开发过的同学,提交代码也是秒提,并没有走eslint。
于是我现在.git 的pre-commit文件下面打印了一个日志输出,确实没有走进来,我就怀疑是不是走到husky去了,因为项目还有残留husky,我就删除了husky,发现仍然不生效。
看了很多相关文章,说的都不是很全面,关键时刻还是要先去看看文档啊。
这里附上 simple-git-hooks 的链接
首先我们先了解一下,什么是simple-git-hooks
原文:
git hook 是一个命令或脚本,每次执行 git 操作时都会运行,例如git commit或git push。
如果 git hook 执行失败,则 git 操作将中止。
如果您希望linter在每次提交时运行以确保项目的代码质量,那么您可以创建一个pre-commit调用的钩子npx lint-staged。
比较重要的步骤,也是此次代码失败的原因
我了解到我们项目是从husky改成git的。所以他的指向还是husKy 需要执行这段代码 git config core.hooksPath .git/hooks 指向git hooks