ToB企服应用市场:ToB评测及商务社交产业平台

标题: husky引发git commit报错的解决方案 [打印本页]

作者: 玛卡巴卡的卡巴卡玛    时间: 2024-10-23 03:53
标题: husky引发git commit报错的解决方案
在git commit的时候,有可能会遇到这样的报错,husky - pre-commit hook exited with code 1 (error)

出现这个题目的原因主要是,假如项目中采用 husky和lint-staged结合进行代码校验,那么,只要项目代码中有不规范的地方,git commit就会自动停止。
在项目开发中肯定不可能时时候刻包管代码写的美满,面对这个题目,可以采用两个方案,跳过git commit检查。
方案一:--no-verify

  1. git commit --no-verify -m "git commit info"
复制代码
通过--no-verify命令,忽略掉不合规范的地方,强制上传。
这种方法很好,但是有个题目,假如只想上传部分文件,还要先通过git add和git reset来忽略一部分内容,例子如下:
  1. git add . #将所有文件暂存
  2. git reset ./vite.config.ts HEAD #将不需要上传的文件恢复
  3. git commit --no-verify -m "git commit info"
复制代码
方案二:--skip-worktree

因为我不停使用 tortoisegit进行git版本管理,不采用命令行的方式,不知道怎么在tortoisegit上输入--no-verify,所以找到了另一种方法,就是直接删除.husky目次,同时删除package.json中与husky相关的内容,去掉校验功能。
由于去掉之后会在面板上显示变更,所以要在删除文件之前,采用--skip-worktree告诉git忽略这个文件。详细代码如下。
  1. git update-index --skip-worktree .husky/*#如果该语句不生效,可以替换成.husky/commit.sh这样的单个文件一一忽略
  2. git update-index --skip-worktree package.json
复制代码
这样一来,之后每次使用tortoisegit就可以直接commit了。
不过以上有个题目,假如后续项目中远程有人修改了package.json文件,pull时会在当地显示辩论,要先用--no-skip-worktree规复文件,进行修改,再重新执行上述操作。
相比较之下,照旧--no-verify的方案更方便。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4