26

I'm working on getting into some more advanced usage of git, and I think hooks are the way that I want to go, perhaps somebody can give me some advice here.

My plan is to have a git repository with 3 branches (development, staging, and production). I want commits to each of these 3 branches to trigger a different script post-commit.

Does git have the capability to do this or am I barking up the wrong tree?

Thanks in advance.

Eugene
  • 4,829
  • 1
  • 24
  • 49

2 Answers2

38

in a post-commit hook you could do the following:

if [ `git rev-parse --abbrev-ref HEAD` == "development" ]; then
   echo "development-script"
elif [ `git rev-parse --abbrev-ref HEAD` == "staging" ]; then
   echo "staging-script"
elif [ `git rev-parse --abbrev-ref HEAD` == "production" ]; then
   echo "production-script"
fi
Simon Stender Boisen
  • 3,413
  • 20
  • 23
1

I had written a script for myself to do this functionality.

https://github.com/fotuzlab/githubdump-php

Host this file on your server, preferably repo root and define the url in github webhooks. Change 'allcommits' on line 8 with your branch name and add your code/function at line 18.

You will need separate files and webhooks for all your 3 instances.

Hope this helps!

fotuzlab
  • 1,436
  • 1
  • 15
  • 19