Pre-commit хуки
Скрипты, автоматически запускающиеся перед созданием git-коммита для обеспечения стандартов качества кода, запуска линтеров и предотвращения коммита проблемного кода.
Определение
Pre-commit хуки — часть системы хуков Git (.git/hooks/pre-commit). Они могут блокировать коммиты, не прошедшие проверки. Типичные использования: запуск линтеров (ESLint, Prettier), проверка на секреты, запуск юнит-тестов, обеспечение формата commit-сообщений. Инструменты Husky (Node.js), pre-commit (Python), Lefthook упрощают управление хуками. Хуки запускаются локально на машинах разработчиков.
Почему это важно
Pre-commit хуки сдвигают проверки качества влево, обнаруживая проблемы до коммита или пуша. Это даёт немедленную обратную связь разработчикам и предотвращает засорение git-истории коммитами "fix lint". Они дополняют (но не заменяют) проверки CI.
Пример
Разработчик пытается закоммитить код с console.log. Pre-commit хук запускает ESLint, который обнаруживает нарушение no-console и блокирует коммит с сообщением об ошибке.