Skip to content

Instantly share code, notes, and snippets.

@benfrain
Last active October 30, 2023 15:55
Show Gist options
  • Star 26 You must be signed in to star a gist
  • Fork 18 You must be signed in to fork a gist
  • Save benfrain/6897792 to your computer and use it in GitHub Desktop.
Save benfrain/6897792 to your computer and use it in GitHub Desktop.
post-receive hook for multiple branches
#!/bin/bash
while read oldrev newrev ref
do
branch=`echo $ref | cut -d/ -f3`
if [ "master" == "$branch" ]; then
git --work-tree=./path/under/root/dir/live-site/ checkout -f $branch
echo 'Changes pushed live.'
fi
if [ "dev" == "$branch" ]; then
git --work-tree=./path/under/root/dir/dev-site/ checkout -f $branch
echo 'Changes pushed to dev.'
fi
done
# Taken from: http://blog.ekynoxe.com/2011/10/22/git-post-receive-for-multiple-remote-branches-and-work-trees/
@zigotica
Copy link

@benfrain thanx for the trick!
I improved it by making destination folder dynamic, see here: https://coderwall.com/p/qjmp1g

@nilsriga
Copy link

thank you for the script

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment