husky · Git
Die Meldung
husky - pre-commit hook exited with code 1 (error)
Was es bedeutet
Ihr Commit ist nie entstanden: ein Hook — Lint, Tests, ein Formatierer — endete mit einem Code ungleich null, und git hat abgebrochen. Der eigentliche Grund steht nicht in dieser Zeile, sondern in der Ausgabe des Hooks darüber, meist eine Lint-Regel oder ein Typfehler. Das zu beheben, was der Hook gemeldet hat, und erneut zu committen ist die einzige echte Antwort. git commit --no-verify überspringt alle Commit-Hooks und erzeugt tatsächlich einen Commit, hat die Prüfung aber nicht bestanden, sondern das Scheitern nur in die CI verschoben — und unformatierter Code geht direkt an die Kollegen.
Die Lösung
git commit --no-verify- Ausgegeben von
- husky
- Git
- 29
Fast jeder git-Fehler ist eine Verweigerung im Sinne von „das aus diesem Zustand zu tun würde etwas verlieren“; fatal: heißt, git hat ohne jede Änderung abgebrochen, und die hint:-Zeilen unter der ersten enthalten meist die eigentliche Lösung.
Eine Fehlermeldung lesen
- Von der ersten Zeile abwärts lesen. Weiter unten geht es um das Innere des Werkzeugs; die Ursache steht meist oben.
- Gibt es Datei und Zeilennummer, dort anfangen — nicht der oberste Stack-Frame, sondern die oberste Zeile, die eine eigene Datei nennt.
- Die Meldung wörtlich suchen, vorher aber eigene Pfade und Variablennamen entfernen; genau die verhindern den Treffer.
- Dieselbe Lage wird je Werkzeugversion anders formuliert. Passen die Treffer nicht, die Versionsnummer mit in die Suche.
- Vor dem Einfügen einer Lösung prüfen, was sie verwirft. Manches davon lässt sich nicht zurückholen.
Häufige Fragen
Q. Was bedeutet „husky - pre-commit hook exited with code 1 (error)“?
Ihr Commit ist nie entstanden: ein Hook — Lint, Tests, ein Formatierer — endete mit einem Code ungleich null, und git hat abgebrochen. Der eigentliche Grund steht nicht in dieser Zeile, sondern in der Ausgabe des Hooks darüber, meist eine Lint-Regel oder ein Typfehler. Das zu beheben, was der Hook gemeldet hat, und erneut zu committen ist die einzige echte Antwort. git commit --no-verify überspringt alle Commit-Hooks und erzeugt tatsächlich einen Commit, hat die Prüfung aber nicht bestanden, sondern das Scheitern nur in die CI verschoben — und unformatierter Code geht direkt an die Kollegen.
Q. Wie behebe ich das?
git commit --no-verify — vor dem Ausführen oben prüfen, was dieser Befehl verwirft.
Q. Welches Werkzeug gibt das aus?
husky. Es gehört zu Git, und die Meldung hat 9 Wörter.