Ein Git-post-receive-Hook ermöglicht das automatische Kopieren von Daten in einen Webordner nach einem Push. Dafür wird im hooks-Verzeichnis des Repositorys eine entsprechende Skriptdatei erstellt. Diese definiert Zielpfad, Git-Verzeichnis sowie den Branch und führt das Auschecken der Dateien durch.
Abschließend muss das erstellte Skript über entsprechende Rechte ausführbar gemacht werden, damit der Git-Server die automatische Übertragung verarbeiten kann.
Damit nach dem PUSH auf den GIT-Server dieser die Daten automatisch in den dafür vorgesehenen Webordner kopiert, muss ein post-receive hook erstellt werden.
Wir erstellen im hooks-Ordner des entsprechenden Repository eine Datei mit dem Namen „post-receive„.
sudo vi /pfad/zum/git/project.git/hooks/post-receive
Diese füllen wir mit folgendem Inhalt:
#!/bin/bash
TARGET="/pfad/zum/webordner/project"
GIT_DIR="/pfad/zum/git/project.git"
BRANCH="master"
echo "Push zum Webordner"
git --work-tree=$TARGET --git-dir=$GIT_DIR checkout -f $BRANCH
Danach müssen wir die entsprechende Datei noch ausführbar machen
sudo chmod +x /pfad/zum/git/project.git/hooks/post-receive