SourceTree/git解决pre-commit hook failed的问题
一、 git commit -m 'xxx' 出现问题
今天在上传项目的时候在commit阶段遇到一个问题,无论是在Sourcetree上传还是用命令git commit -m 'xxx'
都报了一下错误:
husky > npm run -s precommit (node v8.12.0)
husky > pre-commit hook failed (add --no-verify to bypass)
后面查了很多方法都没有很好解决。但是大概能总结问题:
pre-commit钩子惹的祸
当你在终端输入git commit -m "xxx"
,提交代码的时候,
pre-commit(客户端)钩子,它会在Git键入提交信息前运行做代码风格检查。
如果代码不符合相应规则,则报错。
虽然会提示add --no-verify
,但是我输入git commit -m 'xxx' --no-verify
绕过验证,强制提交。 好像还是没有上传成功.如果你也一样
请看下面
二、'弱鸡'的解决方案
为了省点事,我并没有花功夫去查找代码哪里不符合规范.我是暴力地把pre-commit
钩子给删除了!
具体步骤:
- 进入项目的.git文件夹(文件夹默认隐藏,可先设置显示或者命令ls查找)
- 再进入hooks文件夹
- 删除pre-commit文件
重新git commit -m 'xxx'
git push
即可。SourceTree也可以正常推送
总结一句话: 删除.git的提交规则文件: rm -rf ./git/hooks/pre-commit
最后忠告一句: 这是不得已的办法。如果是日常开发,还是乖乖地写好代码的规范,现在代码一般都会进行ESLint
校验,如果觉得麻烦,可以装一个Prettier插件,帮你格式化代码
分类:
其他
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· Windows编程----内核对象竟然如此简单?
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用