Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions book/08-customizing-git/sections/hooks.asc
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Du kannst diese Hooks für die unterschiedlichsten Dinge verwenden.
Alle Hooks werden im Unterverzeichnis `hooks` des Git-Verzeichnisses gespeichert.
In den meisten Projekten ist das `.git/hooks`.
Wenn du ein neues Repository mit git init einrichtest, füllt Git das hooks-Verzeichnis mit einer Reihe von Beispielskripten, von denen viele für sich allein genommen recht nützlich sind. Sie dokumentieren aber auch die Input-Werte jedes Skripts.
Alle Beispiele sind als shell-Skripte verfasst, wobei in einigen Perl eingebaut ist. Jedes richtig benannten ausführbaren Skripte sollte funktionieren. Du kannst sie in Ruby oder Python oder einer beliebigen anderen Sprache schreiben, mit der du vertraut bist.
Alle Beispiele sind als shell-Skripte verfasst, wobei in einigen Perl eingebaut ist. Jedes richtig benannte ausführbare Skript sollte funktionieren. Du kannst sie in Ruby oder Python oder einer beliebigen anderen Sprache schreiben, mit der du vertraut bist.
Wenn du die mitgelieferten Hook-Skripte verwenden möchtest, musst du sie umbenennen. Ihre Dateinamen enden alle mit `.sample`.

Füge zum Aktivieren eines Hook-Skripts eine Datei in das `hooks` Unterverzeichnis deines .git-Verzeichnisses ein, die einen passenden Namen trägt (ohne Erweiterung) und ausführbar ist.
Expand All @@ -35,7 +35,7 @@ Wenn du mit diesen Skripten beabsichtigen, die Einhaltung einer Richtlinie durch
Die ersten vier Hooks beziehen sich auf den Committing-Prozess.

Als erstes wird der `pre-commit` Hook ausgeführt, bevor du eine Commit-Nachricht eintippen kannst.
Er dient dazu, den Snapshot zu untersuchen, der übertragen werden soll. Oder du kannst herausfinden, ob du etwas vergessen hast, um sicherzustellen, dassTests ausgeführt werden oder was immer du im Code überprüfen möchtest.
Er dient dazu, den Snapshot zu untersuchen, der übertragen werden soll. Oder du kannst herausfinden, ob du etwas vergessen hast, um sicherzustellen, dass Tests ausgeführt werden oder was immer du im Code überprüfen möchtest.
Falls ein Status ungleich Null erkannt wird, bricht der Hook den Commit ab. Du kannst das aber mit `git commit --no-verify` umgehen.
Du kannst verschiedene Optionen ausführen, wie z.B. die Suche nach dem Code Style (`lint` oder ähnliches ausführen), die Suche nach Leerzeichen am Ende des Textes (der Standard-Hook macht genau das) oder die Suche nach einer geeigneten Dokumentation zu neuen Methoden.

Expand Down Expand Up @@ -115,8 +115,8 @@ Du kannst diesen Hook benutzen, um bestimmte Aktionen auszuführen, wie z.B. sic

Das `update` Skript ist dem `pre-receive` Skript sehr ähnlich, nur dass es für jeden Branch einmal ausgeführt wird, den der Pusher versucht zu aktualisieren.
Wenn der Pusher versucht, in verschiedene Branches zu pushen, läuft `pre-receive` nur einmal, während das Update einmal pro Branch läuft, auf den gepusht wird.
Satt aus stdin zu lesen, verwendet dieses Skript drei Argumente: den Namen der Referenz (Branch), den SHA-1, auf den die Referenz vor dem Push zeigte und den SHA-1, den der Benutzer zu pushen versucht.
Wenn das Aktualisierungsskript den Status ungleich Null (engl. non-zero) ausgibt, wird nur diese Referenz abgelehnt; andere Referenzen können noch aktualisiert werden.
Statt aus stdin zu lesen, verwendet dieses Skript drei Argumente: den Namen der Referenz (Branch), den SHA-1, auf den die Referenz vor dem Push zeigte und den SHA-1, den der Benutzer zu pushen versucht.
Wenn der Exit-Code des `update` Skripts ungleich Null ist, wird nur diese Referenz abgelehnt; andere Referenzen können noch aktualisiert werden.

===== `post-receive`

Expand Down
Loading