3

Yelp 检测机密是一个防止机密进入您的代码库的系统。我想安装它提供的预提交钩子

我以前从未使用过 git hooks,但我看到的所有示例文件.git/hooks/都是 bash 中的,而yelp自述文件中给出的示例是 yaml 文件。

它们链接到pre-commit.com;“用于管理和维护多语言预提交挂钩的框架”。

这是否意味着 yelp pre-commit 钩子只能通过首先安装pre-commit框架才能使用?

如果是这样,我有点迷失了预提交的使用。我已经安装了它,我可以调用它。所以在现有的回购中我已经运行了pre-commit install. 但是我现在如何添加 yelp 检测秘密预提交挂钩?

当然,我已经查看了pre-commit.com上的文档,但我有点迷失了。欢迎任何提示。

4

1 回答 1

7

要使用预提交,您将设置一个.pre-commit-config.yaml包含您想要使用的工具(例如空白修复程序、linter、黑色、flake8 等)

detect-secrets 还提供了一个使用这种机制的钩子,你可以使用它们提供的代码片段来包含它:

-   repo: https://github.com/Yelp/detect-secrets
    rev: v0.13.0
    hooks:
    -   id: detect-secrets
        args: ['--baseline', '.secrets.baseline']
        exclude: .*/tests/.*

(注意:我编辑了片段以使用更便携的 https 克隆 url)

如果您发现难以使用检测秘密,还有更多标准工具可以处理此问题,例如 bandit(也具有预提交集成)

(免责声明:我是 pre-commit 的作者)

于 2019-11-13T16:55:37.543 回答