- first line should be a short, informative description of what a patch does;
- use imperative mood, as Kernel documentation says (starting at line 112):
Describe your changes in imperative mood, e.g. "make xyzzy do frotz" instead of "[This patch] makes xyzzy do frotz" or "[I] changed xyzzy to do frotz", as if you are giving orders to the codebase to change its behaviour.
- "Pro Git" gives similar advice:
It’s also a good idea to use the imperative present tense in these messages. In other words, use commands. Instead of “I added tests for” or "Adding tests for," use "Add tests for."
- 50 characters is a soft limit of the first line;
- put a blank line after the subject, then write message body (i.e. detailed description);
- don't exceed 72 characters.
- http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
- https://stackoverflow.com/questions/2290016/git-commit-messages-50-72-formatting
- http://chris.beams.io/posts/git-commit/
- https://stackoverflow.com/questions/13861318/why-is-it-considered-good-practice-to-describe-git-commits-in-the-present-tense
- https://news.ycombinator.com/item?id=2079612