I use the format from this project and I find it incredibly useful when you are skimming through the commits.
Each commit message should include a type, a scope and a subject: <type>(<scope>): <subject> Lines should not exceed 100 characters. This allows the message to be easier to read on github as well as in various git tools and produces a nice, neat commit log ie:
#271 feat(standard): add style config and refactor to match
#270 fix(config): only override publicPath when served by webpack
#269 feat(eslint-config-defaults): replace eslint-config-airbnb
#268 feat(config): allow user to configure webpack stats output
Type
Must be one of the following:
Scope
The scope could be anything specifying place of the commit change. For example webpack,
babel, redux etc...
Subject
The subject contains succinct description of the change: