Process Flow - pre-push hook
User runs git push
Git checks for pre-push hook script
Yes
Run pre-push hook script
Hook passes
Push proceeds
End
When you run 'git push', Git looks for a pre-push hook script. If found, it runs it. If the script passes, push continues; if it fails, push stops.