当前位置: 首页 > news >正文

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的方案更方便。

http://www.lryc.cn/news/406751.html

相关文章:

  • 韩顺平0基础学Java——第37天
  • Layer2区块链扩容方案(1)——总述
  • AWS监控工具,监控性能指标
  • 义务外贸wordpress独立站主题
  • 初等数论精解【4】
  • MongoDB教程(二十二):MongoDB固定集合
  • 20240724----idea的Java环境卸载与安装
  • C语言 ——— 函数指针数组的讲解及其用法
  • 鸿蒙仓颉语言【cryptocj 库】(介绍与SHA、MD5、HMAC摘要算法)
  • 设计App的后端接口分类以及环境依赖包详情
  • 接入百度文心一言API教程
  • classfinal太强了,再也不怕被反编译了
  • DP-适配器模式代码重新理解
  • minio安装小计一则
  • # Redis 入门到精通(九)-- 主从复制(1)
  • SpringBoot整合ElasticSearch的elasticsearch-java出现jakarta.json.spi.JsonProvider报错问题
  • git 操作汇总【迭代更新中】
  • 看 Unity 组件的源码 —— ILSpy
  • Axivion Suite 7.8现已发布
  • 从零开始!JupyterNotebook的安装教程
  • 使用kali进行端口扫描
  • C#使用Clipper2进行多边形合并、相交、相减、异或的示例
  • Spring-Aop源码解析(二)
  • antdesgin table 组件下载成excel
  • MongoDB - 聚合阶段 $group 的使用
  • Flutter 插件之 easy_refresh(下拉刷新、上拉加载)
  • DVWA的安装和使用
  • CSS相关记录
  • Fedora40安装telnet-server启用telnet服务
  • Unity3D结合AI教育大模型 开发AI教师 AI外教 AI英语教师案例