Because I feel like it, here is some things your commit messages should provide:
What is the current situation?
Why is it changed? / Why does it need changing?
How does your patch change it?
(optional): Where can I find more?
I don't write every commit message like that myself, but I try to in order to make sense out of my git history.
I also wrote an article about it a while ago, that goes a bit more into details:
@sheogorath Here are the commit guidelines we developed for #PyInstaller some years ago. I follow these for all my projects. Main motivation is to understand the rational of a change even after several years.
@sheogorath And: why did I take this particular approach? What other approaches did I consider (or even try), and why did I reject them?
This information helps future maintainers who don't like the way you've done things and think they have a better idea. If you can show that that idea would have serious disadvantages, you can save them some time. And "future maintainers", of course, often turns out to mean you.
This is my personal microblog. It's filled with my fun, joy and silliness.