Skip to main content

Enterprise Server 3.15 ist derzeit als Release Candidate verfügbar.

Mit Pre-Receive-Hooks arbeiten

Pre-Receive-Hooks erzwingen Regeln für Beiträge, bevor Commits mithilfe von Push an ein Repository übertragen werden können.

Pre-Receive-Hooks führen Tests für an ein Repository übertragenen Code durch, um sicherzustellen, dass die Beiträge die Repository- oder Organisationsrichtlinie erfüllen. Falls die Commit-Inhalte die Tests bestehen, wird der Push in das Repository akzeptiert. Falls die Commit-Inhalte die Tests nicht bestehen, wird der Push nicht akzeptiert.

Falls dein Push nicht akzeptiert wird, wird eine Fehlermeldung zum fehlgeschlagenen Pre-Receive-Hook angezeigt.

$ git push
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 916 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
remote: always_reject.sh: failed with exit status 1
remote: error: rejecting all pushes
To https://54.204.174.51/hodor/nope.git
 ! [remote rejected] main -> main (pre-receive hook declined)
error: failed to push some refs to 'https://54.204.174.51/hodor/nope.git'

Dein GitHub Enterprise Server-Websiteadministrator kann Pre-Receive-Hooks für deine Organisation oder für dein Repository erstellen und entfernen. Zudem kann er Organisations- oder Repositoryadministratoren erlauben, Pre-Receive-Hooks zu aktivieren oder zu deaktivieren. Weitere Informationen findest du unter Erzwingen einer Richtlinie mit Pre-Receive-Hooks.