Om een repository automatisch te deployen kan je de volgende git hook toevoegen aan de git repository.
Deze hook voeg je toe aan een bare repo. Deze maak je aan met `git init –bare ~/git-repo.git`. Hierna plaats je de volgende code in het bestand `~/git-repo.git/hooks/post-receive`.
#!/bin/bash TARGET="/home/user/target-dir" GIT_DIR="/home/user/git-repo.git" BRANCH="master" while read oldrev newrev ref do # only checking out the master (or whatever branch you would like to deploy) if [ "$ref" = "refs/heads/$BRANCH" ]; then echo "Ref $ref received. Deploying ${BRANCH} branch to production..." git --work-tree=$TARGET --git-dir=$GIT_DIR checkout -f $BRANCH else echo "Ref $ref received. Doing nothing: only the ${BRANCH} branch may be deployed on this server." fi done
Daarna moet je het bestand gewoon nog uitvoerbaar maken (`chmod -x ~/git-repo.git/hooks/post-recieve`) en naar de repository pushen (bijvoorbeeld over ssh als deze op een remote host staat)