@b0rk A good practice that makes #2 less likely is "git config --global commit.verbose true" and reviewing the contents of every commit you make before writing the commit message. If you notice it has things you don't want, you can close the file without a commit message (or delete the commit message if there is one), and the commit will be aborted with your index left as it was.