Git has several hooks that you can configure. Personally use two: one to prevent me from accidentally --force pushing to master and this one to keep me from checking in binding.prys:
#!/usr/bin/env ruby
# Checks staged files for disallowed additions
class PreCommitHandler
def handle