问题
when I push something to my GIT repository, the post-receive hook is triggered and executes some scripts. Is it possible doing something before the execution these scripts if (and only if) a specific file is changed respect to the previous push (for example .sql file)?
Thanks
Randomize
回答1:
In the same post-receive hook as a first step or in a pre-receive or update hook, you can use
git diff-tree --name-status -rz
and pass in the new and old ref that are passed in to the hook ( either stdin or arguments) and get the files, check for modified - M - status in the output and do what you need.
Also see here for alternate ways: http://progit.org/book/ch7-4.html
来源:https://stackoverflow.com/questions/8200522/how-to-discover-a-file-is-changed-in-git-during-a-push