Damian Brunold
Automatisches git update
2012-02-16 14:10
Ich habe ein git repository das unter anderem eine Website enthält. Davon gibt es auf dem Webserver ein geklontes repository, das in Apache eingebunden ist, sodass mit einem einfachen git pull die Website aktualisiert werden kann.
Nun wollte ich das einen Schritt vereinfachen. Ich wollte nur schon durch git push ins zentrale Repository die Website aktualisieren. Für solche Sachen gibt es hooks, in diesem Fall den post-receive Hook (früher post-update). Mein Ansatz war somit, in diesem Hook das
cd /path/to/web/site/repo git pull
zu schreiben. Leider klappte dies nicht. Es stellte sich heraus, dass die Environmentvariable GIT_DIR gesetzt war und somit das cd keinen Einfluss hatte. Die Lösung ist stattdessen
cd /path/to/web/site/repo env -i git pull
zu schreiben. Das klappt tadellos.