Using OpenCommit to Automate and Improve Git Commit Messages
May 20, 2023 (1y ago)
3 min read
Hey there, fellow coder! Let's chat about one of the lesser-loved parts of the coding process - writing those pesky git commit messages. You're neck-deep in your latest code masterpiece, the creative juices are flowing, but then you have to pause, switch gears, and write a commit message that makes sense. Talk about a mood killer, right?
But what if I told you there's a handy little tool that can do the hard work for you? Meet OpenCommit - your new secret weapon against boring commit messages!
Getting Set Up with OpenCommit
Before you get to enjoy the perks of OpenCommit, you've got to get it set up. But don't worry - it's a walk in the park.
First things first, install OpenCommit globally with npm by whipping out this command:
npm install -g opencommit
After you've got OpenCommit installed, you'll need to connect it with your OpenAI account. Simply grab your API key from OpenAI and feed it to OpenCommit:
opencommit config set OPENAI_API_KEY=<your_api_key>
Just remember, your API key is stashed away locally in a ~/.opencommit
config file.
How to Use OpenCommit
Now for the fun part - using OpenCommit. Whenever I'm in the zone and need to make a commit, I stage my changes using git add
:
git add <files...>
or
git add .
Then, I let OpenCommit take the wheel:
opencommit
Or if you're more of a shortcut kind of person, you can use the oc command:
oc
Seriously, it's as easy as pie!
Jazzing Up OpenCommit
And because one size doesn't always fit all, you can tweak OpenCommit to fit your unique style.
Switching Up the AI Model
By default, OpenCommit uses the GPT-3.5-turbo model (or ChatGPT for the cool kids). But if you're feeling adventurous, you can give the more powerful GPT-4 model a spin:
oc config set model=gpt-4
Spice Up Your Commit Messages with Emojis
Who doesn't love a good emoji, right? With OpenCommit, you can sprinkle some fun into your commit messages by adding emojis:
oc config set emoji=true
Add Descriptions for Extra Clarity
Want to make your commit messages crystal clear? Add descriptions of your changes:
oc config set description=true
Speak Your Language
OpenCommit also caters to different languages. You can pick the language for your commit messages. Let's say you want to set it to German:
oc config set language=de
Time to Wrap Up
So, there you have it - with OpenCommit, you'll never have to put your coding flow on pause to brainstorm a commit message. More time for the fun stuff, less time for the boring stuff. Just remember, you'll be footing the bill for your own requests to the OpenAI API. OpenCommit uses the ChatGPT (3.5-turbo) model, which is a cool ~15x cheaper than GPT-4. So why not give OpenCommit a whirl? Your commit messages will never be the same!