Git tip: committing with verbose mode
Today I want to talk about a little-know flag for the git commit
command that I think will help you create better commits: -v
, also known as --verbose
. Use this flag and Git will include the diff of the changes at the bottom of the commit message template:
I think this is helpful for a couple of reasons.
Firstly it gives you useful context for writing a helpful commit message. Seeing the changes may remind you of a particular aspect of the change that needs explaining or context that would be useful to capture.
Secondly it gives you the opportunity to perform a final sense check before you create the commit. You may spot a typo, or a change that doesn’t really sit with the rest of the changes. Or perhaps seeing all the changes together triggers a spark of inspiration for a better way to do what you are trying to do.
Configure Git to always use verbose mode
You can save yourself from having to remember to type -v
by configuring Git to always show the verbose output when you run git commit
:
$ git config --global commit.verbose true
Configure your editor to syntax-highlight the diff
You can also configure your to editor syntax-highlight the diffs to make them easier to parse:
- Atom users can install the language-diff package
- Sublime Text users can install the Git Commit Message Syntax plugin
- The TextMate and Visual Studio Code users amongst you get highlighted diffs straight out of the box
And if you haven’t actually configured Git to use your editor of choice when you run git commit
, GitHub have a handy guide for exactly how to do this.