Start·Fehlermeldungen

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.

Verwandte Fehler