关于git commit 前校验代码,失败不予提交,相关的文章介绍已经很多,同学可自行搜索(husky、lint-staged、eslint、stylelint)学习。这里要说的是按网上介绍进行配置,但出现两个问题:
1、校验失败仍然提交
2、lint-staged 校验了所有文件问题排除
这对于没有使用经验的同学来说,可能排查起来还是有一定困难的。
第一个问题其实是我们配置匹配规则时不正确,导致了其实没有执行相关的校验命令。所以在你明知有校验错误的情况下,仍然提交了。这里排查需要自己看 git 的运行输出命令,就会看到没有匹配到的提示。
第二个问题其实是由于我们运行eslint的时候加了目录,如eslint ./ --fix 之类的,导致校验了整个目录。这里应该这样eslint --fix写。lint-staged 会将匹配到的文件传递给相关的lint命令