git - 沙哑的预提交钩子(Hook)不触发

标签 git husky

我遇到了 husky 的问题。我希望 husky 在即将完成 git commit 时运行 eslint 和 prettier,以便它可以执行干净的编码检查。我已经设置了 eslintprettier 并集成了两者。手动使用时它们工作正常。但是,如果违反了 eslint 规则之一,husky 允许提交。

我还将我本地项目的 .git/hooks 目录中的 pre-commit.sample 文件重命名为 pre-commit

这是我的package.json 文件:

  "scripts": {
    "prettier-format": "prettier --config .prettierrc 'src/**/*.ts' 'test/**/*.ts' --write",
    "lint": "eslint . --ext .ts"
  },
  "husky": {
    "hooks": {
      "pre-commit": "npm run prettier-format && npm run lint"
    }
  },
  "devDependencies": {
    "husky": "^7.0.1"
  }

请问这里可能是什么问题? 非常感谢。

最佳答案

我认为要使其与 husky v7 一起使用,您需要将要运行预提交的内容移动到名为 .husky/pre-commit 的文件中。 husky v7 不会使用您的 package.json 中的配置。参见 here for upgrading from v4 to v7 .

关于git - 沙哑的预提交钩子(Hook)不触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68573061/

相关文章:

Git: merge 到master,然后推回到所有分支

git 对存储库文件或路径的访问权限

git - Azure DevOps API - 从位于特定分支源中的 YAML 文件创建管道

git - tortoisegit推送成功,但是没有新文件?

node.js - 使用预提交 Hook 更新 package.json 版本

npm - 如何使用 devinstall 和 devuninstall 脚本?

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

git - 预提交 Hook 失败

git - 无法提交 CodeCommit