Recently a friend turned me onto an interesting article about a problem I had just recently discovered about Git and its pre-commit hook:
Committing in git with only some changes added to the staging area still results in an “atomic” revision that may never have existed as a working copy and may not work.