git commit时报错:pre -commit hook failed (add --no-verify)
今天在上传项目的时候在commit阶段遇到一个问题,无论是在tortoise上传还是用命令git commit -m 'xxx’都报了一下错误:
husky > pre-commit hook failed (add --no-verify to bypass)
后面查了很多方法都没有很好解决。但是大概能总结问题:
pre-commit钩子惹的祸
当你在终端输入git commit -m “xxx”,提交代码的时候,
pre-commit(客户端)钩子,它会在Git键入提交信息前运行做代码风格检查。
如果代码不符合相应规则,则报错且不允许提交到git。
解决方案:
方式一(绕过验证直接提交):
git commit –m"XXX" --no-verify // 执行完这个命令之后,还需要再push一次
方式二(删除.git的提交规则文件):
进入项目的.git文件夹下面hooks文件夹,手动删除pre-commit文件
或者
运行命令:rm -rf ./git/hooks/pre-commit 删除pre-commit文件
方式一为放弃本次git提交的代码Eslint格式检验,其中主要是提交时带上“--no-verify”。方式二为该项目以后都不进行Eslint格式检验。
最后忠告一句: 这是不得已的办法。如果是日常开发,还是乖乖地写好代码的规范,现在代码一般都会进行ESLint校验,如果觉得麻烦,可以装一个Prettier插件,帮你格式化代码。
虽然有部分错误ESLint能够帮我们自动修复,但是ESLint不是万能的,有些警告跟错误还是需要我们自己亲自去修复。那么问题来了,有的小伙伴并没有修复这些就提交了Git,导致后来更新代码的小伙伴在运行项目的过程中控制台报一排排的警告…通过Huskey,Huskey就是Git的生命周期工具,在安装它之后,它能够自动的在项目的.git目录下增加相应的钩子,让你可以监听到Git的各个生命周期,并且配置对应的的shell命令我们通过这个工具来监听Git的commit动作,让ESLinit在commit之前自动检查一下我们的代码。
参考文章:
https://www.cnblogs.com/soyxiaobi/p/9679092.html
https://blog.csdn.net/huzhenv5/article/details/107823096
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了