Was digging through a project at work today where some guy in 2014 made 100+ commits in a single day and the only one that had a comment said “upgrading to v4.0”.
git commit -m “minor tweaks”
+3,276 -4,724
Bug fixes. Too many to count.
deleted by creator
I feel like this might be a good case for LLMs… Auto git commit suggestions based on the diff.
There are already some attempts but I don’t think it will work, harmful even. Best case scenario, the AI can understand the code as well as a senior engineer from another company. All they can know without the context is what was changed, which is useless. We need the reason why the commit was made, not what was changed. The info is not there in the first place for the AI to try to extract.
Looking at the log of my solo project, I could say the formula of my commit message is
Verb
theSubject
, theVerb
being Added/Tweaked/Removed, etc., and the subject of what is being changed. As I’m usinggit commit -m 'Message'
GNU Bash every time (none of the clients tend to work well for me + git self-hosting practice over SSH), I just try to make one-liners and without entering an external editor.Although my professional experience is scarce. For most of the time, I’ve been creating but not maintaining my projects. My projects do not have a decent high-level structure, I do not test my codebase, I learn my code by heart and follow intuition. I tend to think in algorithms, rather than structural design patterns. Even for my newest project, the main.rs is bloated, the functions are not in the correct modules (a.k.a. files), the modules are improperly named. Alhough, I cannot believe in myself I am approaching 3.5K lines of code (separated over two repositories) but I can still navigate…
I try to follow https://www.conventionalcommits.org/en/v1.0.0/
For me, the need it: when production is on fire, as a responsible person, I want to be able to understand why the change of this commit has been made. Perhaps also what were the drivers of the implementation.
I also have this onliner to commit and push each 10min:
watch -n 60 'git add . ; git commit --allow-empty-message -m "" ; git push'
But those commits would never be merge as they are to master or main. It’s just if I loose work on my laptop. Worst case a
git rebase HEAD~
has to be done before the PR review.I simply commit to master with the message “git commit”.
Literally about 90% of the commits I’ve pushed on my DayZ server’s configs and mod files are just marked ‘a’. The actual mod updates I almost never have made porch notes for. Trying to be a little more informative for my new D&D based Conan Exiles server.
It still looks better than how I used to name things in flash.
Like the default Merge messages that git creates.
“Add some new feature” “Fix this and that” “Refactor XY code”
Not “Adding”, “fixed”, “Refactors” or anything…
deleted by creator
Developer Initials - Jira ticket number which includes the project abbreviation and the ticket number - brief description:
DA - HHGTTG-42 - fix question answer format
If you need details you look in the ticket.
Developer intials seems a tad redundant since the commit is tied to author(s). But I guess it is only 2 extra char
Conventional commits all the way! Even if I don’t use the keywords (feat, fix, etc.) I always write the comment in imperative tense; the message should tell you what happens if you merge it.
That’s pretty neat. Is there a forked version that adds ticket number as a mandatory first class citizen? Cause that’d be darn near perfect.