husky > 预提交钩子失败(添加 --no-verify 绕过)

Sat*_*hia 14 git pre-commit-hook husky angular git-husky

突然,我收到了“沙哑> pre-commit钩子失败(添加--no-验证旁路) ”错误消息时,我给了git commit

在此处输入图片说明

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

Sat*_*hia 38

哈士奇可以防止你变坏git commitgit push等等。如果您收到此错误,请检查您的代码语法,以防您收到此错误,即使您的代码有效。请使用以下命令。

git commit -m "message" --no-verify
Run Code Online (Sandbox Code Playgroud)

另一种解决方法是删除 .git/hook 文件夹,然后卸载并重新安装 husky。有可能与 husky 生成的文件和 .git/hook/ 文件发生冲突。

  • 它是“hooks”的复数形式。删除它对我有用。谢谢! (3认同)
  • 删除项目目录中的 .git/hook 文件夹并尝试再次提交代码,它对我来说就像一个魅力。谢谢 !! (2认同)
  • 删除 .git/hooks 文件夹并再次提交。这对我也有用 (2认同)
  • 删除对我也有用的 .git/hooks ! (2认同)

Zer*_*vot 10

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

git config --unset core.hooksPath  
Run Code Online (Sandbox Code Playgroud)

或者

git commit -m "message" --no-verify 
Run Code Online (Sandbox Code Playgroud)


man*_*rth 8

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

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

所以:

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

就我而言,不需要卸载/重新安装。


Dzm*_*fer 6

就我而言,husky > pre-commit hook failed (add --no-verify to bypass)一旦更新了一些依赖项,我就开始获取。npm run lint通过将Husky 文件中的Husky 预提交 linting 命令更改为(通常在大多数情况下该命令运行良好)解决了该问题:

// .huskyrc.json
{
  "hooks": {
      "pre-commit": "npm run lint"
  }
}
Run Code Online (Sandbox Code Playgroud)

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

// package.json
{
  "scripts": {
    "lint": "tsc && eslint \"src/**/*.{js,ts,tsx}\" --quiet --fix"
  }
}
Run Code Online (Sandbox Code Playgroud)