Руководство по настройке хуков перед фиксацией в Python.

Введение
Хуки перед фиксацией можно описать как механизм контроля версий Git. Они являются подмножеством хуков Git. Скрипты Git hook помогают выявлять простые проблемы перед отправкой на код-ревью. Перехватчик перед фиксацией запускается до того, как произойдет фиксация. Перехватчики перед фиксацией часто используются, чтобы убедиться, что код проверен и отформатирован должным образом перед публикацией.
В этой статье будет определено, что такое хуки перед фиксацией, как их настроить, и приведены несколько примеров.
Что такое обработчики предварительной фиксации?
Как и другие элементы управления версиями, Git может запускать пользовательские сценарии при выполнении определенных важных действий. Перехватчики перед коммитом запускаются первыми, еще до ввода сообщения коммита. Они позволяют запускать некоторые скрипты на некоторых этапах фиксации. Они позволяют выполнять код прямо перед фиксацией. Интересно, что пакет Python также называется pre-commit, что позволяет вам создавать и использовать хуки pre-commit с более простым интерфейсом.
Как настроить перехватчики перед фиксацией
Прежде чем запускать хуки, вам необходимо установить менеджер пакетов перед фиксацией.
Использование пипа:
pip install pre-commit
Вы можете проверить правильность установки, запустив:
pre-commit — v pre-commit 2.18.1
В проекте Python вам нужно будет добавить следующее в файл requirements.txt (или requirements-dev.txt):
pre-commit
Добавить предварительную конфигурацию
Создайте файл .pre-commit-config.yaml в своем проекте. Этот файл содержит хуки перед фиксацией, которые вы хотите запускать каждый раз перед фиксацией.
Примеры перехватчиков перед фиксацией
Если вы посмотрите, что находится внутри файла .pre-commit-config.yaml, вы можете увидеть что-то вроде этого:
repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v3.2.0 hooks: - id: trailing-whitespace - id: end-of-file-fixer - id: check-yaml - id: check-added-large-files
Как видите, этот репозиторий содержит четыре хука. Это:
- trailing-whitespace: Этот хук удаляет лишние пробелы в вашем коде.
- end-of-file-fixer: этот хук добавляет пустую строку в конец каждого файла.
- check-yaml: Этот хук гарантирует, что файлы .yaml имеют правильную структуру.
- проверьте добавленные большие файлы. Этот хук проверяет, не закоммитите ли вы какие-либо большие файлы.
См. пример, используемый в этом проекте:
Как установить перехватчики предварительной фиксации?
Используйте эту команду:
pre-commit install
Как подготовить и зафиксировать хуки перед фиксацией
Теперь вам нужно проиндексировать и зафиксировать изменения. Используйте следующую команду:
git add .pre-commit-config git commit -m “Add pre-commit”
Если все пойдет нормально, то вы должны увидеть следующее сообщение:
pre-commit installed at .git/hooks/pre-commit
Подведение итогов
Pre-commit, пакет Python, позволяет легко управлять и запускать хуки, необходимые для проверки и правильного форматирования кода перед публикацией. Перехватчики перед фиксацией экономят время, избегая ошибочных коммитов с минимальной настройкой. В этой статье на примере показано, как настроить перехватчики перед фиксацией.
Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter и LinkedIn. Присоединяйтесь к нашему сообществу Discord.