Pre-commit Hooks
Skripte, die automatisch vor der Erstellung eines Git-Commits ausgeführt werden, um Code-Qualitätsstandards durchzusetzen, Linter auszuführen und das Committen von problematischem Code zu verhindern.
Definition
Pre-commit Hooks sind Teil des Git-Hook-Systems (.git/hooks/pre-commit). Sie können Commits blockieren, die Prüfungen nicht bestehen. Häufige Anwendungen: Linter ausführen (ESLint, Prettier), auf Secrets prüfen, Unit-Tests ausführen und Commit-Message-Formate durchsetzen. Tools wie Husky (Node.js), pre-commit (Python) und Lefthook erleichtern die Hook-Verwaltung.
Warum es wichtig ist
Pre-commit Hooks verschieben Qualitätsprüfungen nach links und fangen Probleme ab, bevor Code committet oder gepusht wird. Dies gibt Entwicklern sofortiges Feedback und verhindert, dass die Git-History mit "fix lint"-Commits verschmutzt wird. Sie ergänzen (ersetzen aber nicht) CI-Checks.
Beispiel
Ein Entwickler versucht, Code mit console.log-Anweisungen zu committen. Der Pre-commit Hook führt ESLint aus, das die no-console-Verletzung erkennt und den Commit mit einer Fehlermeldung blockiert.