====== Git-Hook "post-receive" ====== Mit dem folgendem GIT-Hook "post-receive" ist es möglich, das Repository nach einem Push automatisch in einem Verzeichnis zu veröffentlichen. Dabei können verschiedene Branches in verschiedenen Verzeichnissen veröffentlicht werden. #!/bin/bash while read oldrev newrev ref do branch=`echo $ref | cut -d/ -f3` if [ "master" == "$branch" ]; then GIT_WORK_TREE=/www/htdocs/wXXXXXXX/master git checkout -f $branch echo 'changes pushed to master' fi if [ "dev" == "$branch" ]; then GIT_WORK_TREE=/www/htdocs/wXXXXXXX/dev git checkout -f $branch echo 'changes pushed to dev' fi done ====== "post-receive" in Ubuntu anlegen ====== Nachdem ein neues GIT-Projekt angelegt wurde, ist unter anderem das Verzeichnis "hooks" bereits vorhanden. So kann die Datei oben aufgeführte Datei im Verzeichnis "hooks" angelegt werden: * cd projektname/.git/hooks * nano post-receive * [INHALT VON OBEN MIT RECHTER MAUSTASTE EINFUEGEN] * [STRG] + O * [RETURN] * [STRG] + X * chmod 755 post-receive (**Wichtig**: Rechte zum Ausführen auf das Verzeichnis setzen!!)