Как использовать 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, которые намного более переносимы)
есть также более стандартные инструменты для обработки этого, такие как бандит (который также имеет интеграцию до фиксации), если вы обнаружите, что с обнаружением секретов трудно работать
(отказ от ответственности: я являюсь автором предварительной фиксации)