git commit 绕过代码检查

首先是我在用到这个命令时的背景,本地分支合并master分支后(为了自己提前解决一些冲突)再提交mr,请求将本地分支合并到master分支。
问题就出在,本地分支合并master分支解决完冲突后的commit,因为master分支上更新了很多内容,导致commit时,有非常多的文件被更新了

在这里插入图片描述
git commit提交不上,报了很多错误,我一看竟然都是eslint语法报错,而且都来自master分支更新过来的文件,估计是一些历史遗留问题
在这里插入图片描述
这时候肯定没时间依次去修改,只能绕错pre-commit钩子中eslint语法检查了。下面是对此的解释

首先认识一下git的钩子:

钩子都被存储在 git 目录下的 hooks 子目录中。 也即绝大部分项目中的 .git/hooks 。 当用 git init 初始化一个新版本库时,git 默认会在这个目录中放置一些示例脚本。这些脚本除了本身可以被调用外,它们还透露了被触发时所传入的参数。 所有的示例都是 shell 脚本,其中一些还混杂了 Perl 代码,不过,任何正确命名的可执行脚本都可以正常使用

GIT_DIR/hooks/pre-commit :

这个钩子被 git commit 命令调用, 而且可以通过在命令中添加–no-verify 参数来跳过。这个钩子不需要参数,在得到提交消息和开始提交前被调用。如果钩子返回值不是0,那么 git commit 命令就会中止执行。

**译注:**这个钩子可以用来在提交前检查代码错误(例如运行lint程序)。

猜你喜欢

转载自blog.csdn.net/xiaoxiannv666/article/details/119775776