Skip to content

Instantly share code, notes, and snippets.

@QuingKhaos
Created August 23, 2017 06:46
Show Gist options
  • Save QuingKhaos/aee1a479e1807a174fa7594b07ecd522 to your computer and use it in GitHub Desktop.
Save QuingKhaos/aee1a479e1807a174fa7594b07ecd522 to your computer and use it in GitHub Desktop.
git hook to run a command after `git pull` if a specified file was changed
#!/usr/bin/env bash
# MIT © Sindre Sorhus - sindresorhus.com
# git hook to run a command after `git pull` if a specified file was changed
# Run `chmod +x post-merge` to make it executable then put it into `.git/hooks/`.
changed_files="$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)"
check_run() {
echo "$changed_files" | grep --quiet "$1" && eval "$2"
}
# Example usage
# In this example it's used to run `composer install` if composer.lock changed.
check_run composer.lock "hash composer 2> /dev/null && composer install || echo -e '\e[1m\e[30m\e[43mcomposer.lock changed, please run a composer install\e[0m'"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment