Hey fellow programmers, I wanted to share a little experiment I’ve been
conducting lately that has significantly improved my workflow. I’ve started
using AI to generate my Git commit messages, and it’s been a game-changer! By
feeding all the changes I’ve made into a language model with a large context
window (LLM), the AI not only generates a concise commit title but also provides
bullet points describing each of the changes in precise detail. The level of
detail and informativeness it brings to my commit messages is incredible. I used
to spend a considerable amount of time crafting commit messages that accurately
captured the essence of the changes I made. Now, with the help of AI, I find
myself copy-pasting its generated messages most of the time. It’s not just a
time-saver; it also ensures that my commits are well-documented and easy to
understand for my team members. If you haven’t explored using AI for your Git
commits, I highly recommend giving it a try. It can significantly boost your
productivity and help you maintain clean and informative version control
history. Plus, it’s a fascinating intersection of AI and software development!
Have you experimented with similar AI-powered tools for your programming tasks?
I’d love to hear your experiences and any recommendations you might have. Let’s
discuss the future of AI in programming in the comments!
It writes more informative commits than I could ever make so I’m just reading what it says and mostly copy/pasting completely most of the time, I write all of the changes I’ve made into an LLM with a large context window and it write a very detailed commit not just with a title but with bullet points describing each of the changes precisely
I make really small and really frequent commits. Like I’ll commit all changes every 10 min regardless of if a feature is done or not, and basically use commits like an undo button.
I still use git history a lot (per file history usually) but even when browsing years and hundreds of commits into the past, I don’t really need detailed/thoughtful messages to find the change I’m looking for. Binary search plus those 2 or 3 word message hints are lightning fast. And the number of times I commit vastly outweighs the number of times I browse the history.
When it comes to documentation and other people, feature-branches are my “OK I fully finished this thing; here’s a summary”. I’m also not afraid to squash a ton of useless commits together right before making a PR.
TDLR; spending more than 3 sec doesn’t help future me or current me, so it’s a waste of time
Why don’t you spend time on commit messages though?
I make really small and really frequent commits. Like I’ll commit all changes every 10 min regardless of if a feature is done or not, and basically use commits like an undo button.
I still use git history a lot (per file history usually) but even when browsing years and hundreds of commits into the past, I don’t really need detailed/thoughtful messages to find the change I’m looking for. Binary search plus those 2 or 3 word message hints are lightning fast. And the number of times I commit vastly outweighs the number of times I browse the history.
When it comes to documentation and other people, feature-branches are my “OK I fully finished this thing; here’s a summary”. I’m also not afraid to squash a ton of useless commits together right before making a PR.
TDLR; spending more than 3 sec doesn’t help future me or current me, so it’s a waste of time