如何在失败时停止预提交?

How do I stop pre-commit on failure?

我在 pre-commit-config.yml 中启用了两个 git 预提交挂钩:

  1. 花很少时间的代码格式化钩子
  2. 我们的 pytest 钩子,需要更多时间

当(1)更新代码格式时失败,但(2)仍然运行s。然后 (1) 和 (2) 必须再次 运行,将 运行 提交所需的时间加倍。我宁愿 运行 (1) 和 运行 (2) 只有当 (1) 通过时。是否可以使用 pre-commit,如果可以,我该怎么做?我已经深入了解了文档,但到目前为止我找不到任何有用的东西。

我不建议在提交前进行慢速检查,您可能会让您的开发人员禁用/忽略它/上下文切换

就是说,有一个专门为此设计的选项,fail_fast 选项

这是顶级选项,因此您可以这样设置:

fail_fast: true

repos:
# ...

免责声明:我创建了预提交