pre-commit
- это хук Git, скрипт, который автоматически запускается перед каждым коммитом. Он позволяет проверять код (например, на соответствие стандартам кодирования, наличие опечаток, и т.п.) прямо перед фиксацией изменений. Если pre-commit
возвращает ненулевой код завершения, коммит отменяется, давая разработчику возможность исправить проблемы. Обычно располагается в каталоге .git/hooks/
проекта.
`pre-commit` хук - это скрипт, который автоматически выполняется Git'ом перед каждой фиксацией (commit). Он является частью набора Git-хуков, которые позволяют настроить поведение Git репозитория для определенных действий. Хук `pre-commit` располагается в каталоге `.git/hooks/` вашего репозитория.
Как работает:
Назначение и примеры использования:
`pre-commit` хуки используются для автоматизации различных задач, связанных с качеством кода и соблюдением стандартов. Примеры:
Как создать и использовать:
Преимущества:
Пример простого `pre-commit` хука (Bash):
#!/bin/bash
echo "Running pre-commit hook..."
# Проверка наличия коммита без сообщения
if git log -1 --pretty=%B | grep -q "^$"; then
echo "Error: Commit message is empty. Please provide a commit message."
exit 1
fi
# Простая проверка наличия слова "TODO" в измененных файлах
if git diff --cached --name-only | xargs grep -q TODO; then
echo "Error: TODO items found. Please resolve them before committing."
exit 1
fi
echo "Pre-commit checks passed."
exit 0
Этот простой скрипт проверяет, что сообщение коммита не пустое, и не содержит ли измененные файлы слова "TODO".
Использование `pre-commit` хуков значительно повышает качество разрабатываемого программного обеспечения, позволяя выявлять и предотвращать проблемы еще до того, как они попадут в репозиторий. Существуют готовые фреймворки для управления хуками (например, `pre-commit` - https://pre-commit.com/), которые упрощают их настройку и поддержку.