Git Commit message conventions for Angular.js
docs.google.com
docs.google.com
Message body
just as in <subject> use imperative, present tense: “change” not “changed” nor “changes”
Is it me or is this directly contradicted by the examples at the end? Which, by the way, seem much more natural than they would be if they obeyed this convention.I know where you're coming from, it feels more natural because when you ask yourself "what did this change do?" to write the commit message, the answer is in past tense. They fail to mention the reasoning behind the convention, which dates back at least to tpope's 2008 blog post[1] and is also in Documentation/SubmittingPatches in Git's own repo[2], which is that not only does the imperative tense tend to be slightly more concise, but more importantly, it's consistent with automatic commit messages generated by commands like git merge and git revert.
[1]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messa...
[2]: https://github.com/git/git/blob/master/Documentation/Submitt...
https://www.gnu.org/prep/standards/html_node/Change-Logs.htm...
Example commit: http://git.savannah.gnu.org/cgit/guix.git/commit/?id=0a90af1...
Having a CHANGELOG file was one of the absolute worst parts of contributing to WebKit since everyone is required to edit it with every commit its the biggest source of conflicts. Of course automating its generation I guess is trying to fix that but I just don't get why you can't just do `git log` or equivalent when you need info. Why does a CHANGELOG file need to exist at all. I also don't get why anyone cares. I never looked at CHANGELOG ever. I'd use the various source control tools to find changes, who modified, etc.
Prefix with the type of the change. Put the scope of the change in the parentheses. Put the description afterwards.
Did you fix the caramel filling in the ChocolateFactory? `fix(ChocolateFactory): make caramel filling work`
Here's a more succint description: https://github.com/ajoslin/conventional-changelog/blob/maste...