35

突然,我给git commit.

在此处输入图像描述

我不知道我做错了什么。我也试过git clean命令。有人遇到过类似的问题吗?

4

5 回答 5

82

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

#解决方案1:

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

#解决方案2:

这是一个临时/快速的解决方案

git commit -m "message" --no-verify
于 2020-09-18T03:25:09.137 回答
3

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

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

所以:

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

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

于 2021-04-27T10:01:03.610 回答
0

我很惊讶最佳答案建议只是省略钩子的验证。如果你有 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"
  }
}

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

// package.json
{
  "scripts": {
    "lint": "tsc && eslint \"src/**/*.{js,ts,tsx}\" --quiet --fix"
  }
}
于 2021-09-16T06:45:43.580 回答
0

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

git config --unset core.hooksPath  

或者

git commit -m "message" --no-verify 
于 2021-12-30T08:36:27.607 回答
0

提交到 electron.js 项目时,我遇到了同样烦人的错误消息。添加--no-verify选项有效,但每次提交时我都必须这样做也有点烦人。

然后我在文件中找到了与 precommit 相关的package.json内容:

{
  "scripts": {
    ...
    "precommit": "lint-staged",
    ...
  }
}

只需删除上面的行就解决了我的问题。

于 2022-01-13T03:18:05.743 回答