0


husky引发git commit报错的解决方案

在git commit的时候,有可能会遇到这样的报错,husky - pre-commit hook exited with code 1 (error)

出现这个问题的原因主要是,假如项目中采用 husky和lint-staged结合进行代码校验,那么,只要项目代码中有不规范的地方,git commit就会自动终止。

在项目开发中肯定不可能时时刻刻保证代码写的完善,面对这个问题,可以采用两个方案,跳过git commit检查。

方案一:--no-verify

git commit --no-verify -m "git commit info"

通过--no-verify命令,忽略掉不合规范的地方,强制上传。

这种方法很好,但是有个问题,如果只想上传部分文件,还要先通过git add和git reset来忽略一部分内容,例子如下:

git add . #将所有文件暂存
git reset ./vite.config.ts HEAD #将不需要上传的文件恢复
git commit --no-verify -m "git commit info"

方案二:--skip-worktree

因为我一直使用 tortoisegit进行git版本管理,不采用命令行的方式,不知道怎么在tortoisegit上输入--no-verify,所以找到了另一种方法,就是直接删除.husky目录,同时删除package.json中与husky相关的内容,去掉校验功能。

由于去掉之后会在面板上显示变动,所以要在删除文件之前,采用--skip-worktree告诉git忽略这个文件。具体代码如下。

git update-index --skip-worktree .husky/*#如果该语句不生效,可以替换成.husky/commit.sh这样的单个文件一一忽略
git update-index --skip-worktree package.json

这样一来,之后每次使用tortoisegit就可以直接commit了。

不过以上有个问题,假如后续项目中远程有人修改了package.json文件,pull时会在本地显示冲突,要先用--no-skip-worktree恢复文件,进行修改,再重新执行上述操作。

相比较之下,还是--no-verify的方案更方便。

标签: git

本文转载自: https://blog.csdn.net/qq_41057206/article/details/140666219
版权归原作者 水宁成冰 所有, 如有侵权,请联系我们删除。

“husky引发git commit报错的解决方案”的评论:

还没有评论