Git-Hook-Automatisierung mit lefthook
Entscheidung
- Für die Verwaltung von Git Hooks wird
lefthookeingesetzt. - In
pre-commitwerden für gestagte Dateienbiome format --writeund anschließendbiome check --writeausgeführt. - In
pre-pushwerden ebenfalls für gestagte Dateienbiome format --writeund anschließendbiome check --writeausgeführt. - Die Hook-Definitionen werden zentral in
lefthook.ymlim Repository-Root verwaltet.
Kontext
Wenn Formatierung oder Linting lokal vergessen werden, entstehen im Review unnötige Diffs und Hinweise. Außerdem waren die Hook-Setups je Entwickler uneinheitlich, daher war ein versioniertes und reproduzierbares Verfahren notwendig.
Alternativen
- Native Git Hooks in
.git/hooksmanuell einrichten: geringe Reproduzierbarkeit und schwer teilbar. - Husky: bewährte Lösung, aber in diesem Fall wurde
lefthookwegen der schlankeren, einfacheren Konfiguration bevorzugt. - Nur CI-Prüfung: langsameres Feedback und keine frühe lokale Erkennung.
Auswirkungen
- Qualitätsprüfungen laufen automatisch vor Commit und vor Push.
- Formatierungsprobleme werden früh erkannt, was Stilabweichungen reduziert.
- Bei Fehlern werden Commit/Push blockiert, bis Korrekturen erfolgt und die Checks erneut ausgeführt wurden.
hsb.horse