Ello Ello.
Can you recommend a program with which I can generate commit messages locally? I DO NOT want an LLM local or cloud API. What I want is a tiny or small language model. If I could easily swap or customize the model for each project, it would be better, too. So I could have smaller models for specific projects. I can do the training meself.
Thanks in advance!


why generate commit messages? they are notes to yourself about what you have done and why. they don’t need to be more than a single line.
I’ve once worked on a project where your commits to your dev branch were supposed to be helpful to colleagues for reviews, but they had to be squashed for the feature branch, with comments adhering to the conventional commit “standard”. On the other side of it, there was a horrible pedant of a middle manager, who was rejecting merges based on (debatable) “misformats”.
This affected billing. They supposedly had some scripts evaluating merge requests, and they’d shrug and say “the script rejected it”. This was before LLMs. Come to think of it, they’re probably replaced by an LLM now, prompted by the customer to “try to defraud and fuck with the workforce on every commit”.
So to sum up, maybe OP’s in some sort of corporate hell, or maybe they want a bit more than going
git commit -mevery time.oh god, screw that.
they are not notes to meself when there are others in the project. And the commit message is not always one line. Sometimes it’s more. And even if it is one line, it is still annoying to manually type for everything and every change.
You and your team will have to decide, but in my experience generating commit messages is not particularly useful.
Because you really just want a short (ideally one-line) summary of the changes. If someone’s interested in the details, they can look at the diff (and hell, have that then summarized by an LLM, if needed). Adding a bullet point list for each concrete change adds a ton of noise to the commit log, which is IMHO not worth it.
Where long commit messages are actually useful is for documenting things that aren’t written into the code, mainly why you made the change. But since they’re not in the code, the LLM can’t generate that part for you.
I see. didn’t think of this one. Note that there is a commit message, one line, and there is an extended description. The extended description, most of the time, is like you said and an LLM cannot do it. But I was wondering if that one line could be auto-generated. If not for every commit, at least for some common changes. But I will take your word that a Language model won’t be good.
but that’s your job. document the rationale of your changes for others.
Of course it is. We use computers to automate things. This is one of them. What is the problem with that?