Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
#/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"
}
check_css() {
echo "$changed_files" | grep --quiet ".*\.sass" || grep --quiet ".*\.scss" && eval "$1"
}
# Example usage
# In this example it's used to run `npm install` if package.json changed and `bower install` if `bower.json` changed.
check_run package.json "npm install"
check_run bower.json "bower install"
# Compile CSS
check_css "CHANGE TO CMD LINE WAY TO COMPILE CSS"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.