如果文件包含特定字符串,则 pre-commit.com 钩子拒绝提交

问题描述

如果文件包含特定字符串,是否已经有一个 pre-commit.com 钩子来拒绝提交?

我知道如何使用 git pre-commit 钩子来做到这一点:https://stackoverflow.com/a/26836281/633961

但我想采用 pre-commit.com 的方式,因为这样可以将我的方式简化为其他开发人员采用的方式。

例如,我也想使用其他人使用的相同字符串。

解决方法

最简单的方法是使用 language: pygrep 钩子。这实现了与文件匹配的正则表达式

pygrep 对于直接存在于您存储库的 .pre-commit-config.yaml 文件中的 repo: local 钩子特别有用

一个禁止 DONTSHIP 的例子:

-   repo: local
    hooks:
    -   id: dontship
        name: DONTSHIP check
        entry: DONTSHIP
        language: pygrep
        types: [text]

免责声明:我是 pre-commit 的创建者