For example, for Rails development overcommit [1] is known to be useful.
[1] https://github.com/brigade/overcommit