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钩子给删除了!

具体步骤:

  1. 进入项目的.git文件夹(文件夹默认隐藏,可先设置显示或者命令ls查找)
  2. 再进入hooks文件夹
  3. 删除pre-commit文件

重新git commit -m 'xxx' git push即可。SourceTree也可以正常推送

总结一句话: 删除.git的提交规则文件: rm -rf ./git/hooks/pre-commit

最后忠告一句: 这是不得已的办法。如果是日常开发,还是乖乖地写好代码的规范,现在代码一般都会进行ESLint校验,如果觉得麻烦,可以装一个Prettier插件,帮你格式化代码

posted @ 2018-09-20 09:51  xiaobe  阅读(15912)  评论(2编辑  收藏  举报