husky > pre-commit hook 失败(添加 --no-verify 绕过)

Posted

技术标签:

【中文标题】husky > pre-commit hook 失败(添加 --no-verify 绕过)【英文标题】:husky > pre-commit hook failed (add --no-verify to bypass) 【发布时间】:2021-01-04 15:55:53 【问题描述】:

当我提供git commit 时,我突然收到“husky > pre-commit hook failed (add --no-verify to bypass)”错误消息。

我不知道我做错了什么。我也试过git clean 命令。

【问题讨论】:

也可以删除.git/hook文件夹,然后卸载重装husky。 husky 生成的文件和 .git/hook/ 文件有一些冲突。这对我有用 【参考方案1】:

赫斯基可以防止你坏git commitgit push等等。如果您收到此错误,请检查您的代码语法,以防万一您收到此错误,即使您的代码也是有效的。请使用以下命令。

git commit -m "message" --no-verify

另一种解决方案:

删除.git/hook文件夹,然后卸载重装husky。有可能与 husky 生成的文件和 .git/hook/ 文件发生冲突。

【讨论】:

它帮助了我,而无需检查任何代码语法和其他 lint。谢谢@Sathia 删除项目目录中的 .git/hook 文件夹并尝试再次提交代码,它对我来说就像一个魅力。谢谢!! 已删除 .git/hooks 文件夹并再次提交。这对我也有用 它是hooks 复数。删除它对我有用。谢谢! 删除 .git/hooks 也为我工作!【参考方案2】:

@Elio 的评论是一个更受欢迎的解决方案,因为 `--no-verify' 会跳过任何应该运行的脚本。

我在这里假设如果有脚本是有原因的......

因此:

你也可以删除.git/hook文件夹,然后卸载重装husky。 husky 生成的文件和 .git/hook/ 文件有一些冲突。这对我有用

在我的情况下,不需要卸载/重新安装。

【讨论】:

【参考方案3】:

我很惊讶最佳答案建议只是省略钩子的验证。如果你有 Husky 钩子,你不能忽视它们。

就我而言,一旦更新了一些依赖项,我就开始收到husky > pre-commit hook failed (add --no-verify to bypass)。通过在 husky 文件中将 Husky 的 pre-commit linting 命令更改为 npm run lint(通常这个在大多数情况下可以正常工作)解决了这个问题:

// .huskyrc.json

  "hooks": 
      "pre-commit": "npm run lint"
  

注意:如果在您的package.json 中声明了lint 脚本,则该解决方案有效;就我而言,我有:

// package.json

  "scripts": 
    "lint": "tsc && eslint \"src/**/*.js,ts,tsx\" --quiet --fix"
  

【讨论】:

【参考方案4】:

我找到了两个这样的临时解决方案

git config --unset core.hooksPath  

git commit -m "message" --no-verify 

【讨论】:

以上是关于husky > pre-commit hook 失败(添加 --no-verify 绕过)的主要内容,如果未能解决你的问题,请参考以下文章

通过 husky 在 docker 中运行 pre-commit 和 pre-push 命令

代码提交规范 husky + commitlint + lint-staged

优化前端工作流:一、使用husky对commit日志校验

vue 代码规范 之 husky

“测试”的 husky 预提交钩子未完成

Husky 预提交钩子和压缩提交