Как использовать git pre-commit hook

https://github.com/Yelp/detect-secrets - это система, которая предотвращает попадание секретов в вашу базу кода. Я хотел бы установить ловушку предварительной фиксации, которую он предоставляет.

Я никогда раньше не использовал git-хуки, но все файлы примеров, которые я вижу в .git/hooks/находятся в bash, а пример, приведенный в файле readme yelp, - это файл yaml.

Они ссылаются на https://pre-commit.com/; "фреймворк для управления и поддержки многоязычных хуков перед фиксацией".

Означает ли это, что ловушку предварительной фиксации yelp можно использовать только при первой установке фреймворка предварительной фиксации?

Если так, то я немного заблудился в использовании предварительной фиксации. Я его установил и могу звонить. Итак, в существующем репо я запустилpre-commit install. Но как я теперь могу добавить ловушку yelp detect secrets перед фиксацией?

Конечно, я просмотрел документацию на https://pre-commit.com/, но я как бы потерялся в ней. Любые подсказки приветствуются.

1 ответ

Решение

Чтобы использовать предварительную фиксацию, вы настроите .pre-commit-config.yaml который включает в себя инструменты, которые вы хотите использовать (например, средства исправления пробелов, линтеры, черный цвет, flake8 и т. д.)

detect-secrets также предоставляет ловушку, использующую этот механизм, и вы можете включить ее, используя предоставленный фрагмент:

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

(примечание: я отредактировал фрагмент, чтобы использовать URL-адреса клонов https, которые намного более переносимы)

есть также более стандартные инструменты для обработки этого, такие как бандит (который также имеет интеграцию до фиксации), если вы обнаружите, что с обнаружением секретов трудно работать

(отказ от ответственности: я являюсь автором предварительной фиксации)

Другие вопросы по тегам