Good commit messages have 3 critical benefits:
Help speed up the code review process
Help in writing good release notes
Help future maintainers (and your future self) understand why a change was made, or what exactly a particular bug was
Short (70 chars or less) summary of changesMore detailed explanatory text, if necessary. Wrap it to about 80characters or so. In some contexts, the first line is treated as thesubject of an email and the rest of the text as the body. The blankline separating the summary from the body is critical.Further paragraphs come after blank lines.- Bullet points are okay, too- A hyphen is used for the bullet, surrounded by a single space
The summary line is written in the imperative voice, and is structured in a way so that the message completes the sentence, “If applied, this commit will…”. For eg:
"Split the Rx streams in RecentPatientsViewController"
"Add Appium checkstyle task to the git pre-push hook"
"Add query in PatientRepository to get count of sync-pending records"
Summary lines start with words like “Add”, “Update”, and “Fix” instead of Added, Updated and Fixed
Summary lines never end with a period, just like the subject of an email
The explanatory text isn’t required but encouraged, especially when a commit fixes a bug. It’s good practice to explain clearly why a certain issue was occurring and how the commit fixes it.