How to Set a Default Commit Message
Having a default commit message is really useful for a number of reasons:
- It can formalize your commit messages
- It serves as a good reminder for the information you should add to your commit message, like issue number
- If you set it to "Drunk AF, don't accept this"
To set a default commit message on your local machine, start by executing the following from command line:
git config --global commit.template ~/.gitmessage
This tells your local git config to pull the text from ~/.gitmessage as the default commit message. You could set the text to something like:
Fix Issue #{number}: {description}
R+: {reviewer}
Of course, if you set your commit message via git commit -m {description}, the default will not be used, so it's a win-win!
![5 HTML5 APIs You Didn’t Know Existed]()
When you say or read "HTML5", you half expect exotic dancers and unicorns to walk into the room to the tune of "I'm Sexy and I Know It." Can you blame us though? We watched the fundamental APIs stagnate for so long that a basic feature...
![Responsive and Infinitely Scalable JS Animations]()
Back in late 2012 it was not easy to find open source projects using requestAnimationFrame() - this is the hook that allows Javascript code to synchronize with a web browser's native paint loop. Animations using this method can run at 60 fps and deliver fantastic...
![Vertically Centering with Flexbox]()
Vertically centering sibling child contents is a task we've long needed on the web but has always seemed way more difficult than it should be. We initially used tables to accomplish the task, then moved on to CSS and JavaScript tricks because table layout was horribly...
![HTML5’s placeholder Attribute]()
HTML5 has introduced many features to the browser; some HTML-based, some in the form of JavaScript APIs, but all of them useful. One of my favorites if the introduction of the placeholder attribute to INPUT elements. The placeholder attribute shows text in a field until the...
What if you want to include some of the lines from the default commit message in your template? One thing that is not indicated here is that the content of the default message is included with your template content (combined) when the actual commit template is displayed in the editor.
See: commit.template section in https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration
Or test it yourself..
BUT! What if you need to change the order that the default commit message lines appear in your templated commit message? For example..
The default git commit message (as of this date) is:
=======================================================================
# Please enter the commit message for your changes. Lines starting
# with ‘#’ will be ignored, and an empty message aborts the commit.
#
# On branch master
#
# Initial commit
#
# Changes to be committed:
# new file: blah
#
# ———————— >8 ————————
# Do not modify or remove the line above.
# Everything below it will be ignored.
diff –git a/blah b/blah
new file mode 100644
index 0000000..e69de29
=======================================================================
But what if you need it to be:
=======================================================================
Changes to be committed: new file: blah
On branch master
Initial commit
# ———————— >8 ————————
# Do not modify or remove the line above.
# Everything below it will be ignored.
diff –git a/blah b/blah
new file mode 100644
index 0000000..e69de29
=======================================================================
Where “Initial commit” is included / omitted (as it normally is) based on whether it is the initial commit or not. In other words, you want to reformat the default commit message’ content so that when it is combined with your template it will read in the order and format that you want it.
Is there a way to do this?