For me, it was my boss gave me a programming task which he knew would take hours or a day or two... and then 15 minutes later tells me to "switch focus" and do a menial task that any of my five coworkers could do π€¦ββοΈ
Programmer Humor
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
Oh god I feel so called out. I wish I paid more attention to my commit messages but Iβm usually too busy fixing the directory structure and refactoring. Sigh.
reminds me of what youtube was doing to firefox users for awhile.
git commit -m "break codec sync if UA = firefox/gecko"
do git commit -v
and then just summarize the diff you have in your editor in a human readable form.
Don't just summarize the content though, summarize the rationale or how things connect. I can read your diff myself to see what changed, I want to know the logical connections, the reason you did X and not Y, etc.
Or just say "stuff" and provide that context in the PR description separately, no need to overdo the commit log on a feature branch if you're using squash merges from your PR.
P1000x this.
I can read a diff.
I need to know why.
No, a code comment isn't good enough, it's out of date after the next commit.
Code comments for "why"s that persist. Commits for why's that are temporary.
If you need to run X before Y, add a comment. If you added X before why because it was easier, leave it in a commit
If you need to run X before Y...
Add a test that asserts that.
git commit -m βchanged somethings β
git push origin master
Just use What The Commit.
You can also create a git alias:
git config --global alias.yolo '!git add -A && git commit -m "$(curl --silent --fail https://whatthecommit.com/index.txt)"'
Now you can just type 'git yolo' to create a commit!
"Make Sure You Are Square With Your God Before Trying To Merge This"
Full send.
Psst,
git add -p
What does this?
"patch mode" - Patch mode allows you to stage parts of a changed file, instead of the entire file. This allows you to make concise, well-crafted commits that make for an easier to read history.
Highly recommend throwing --patch
on any git commands you're used to using. You will have the prettiest, most atomic fkn commit, I'm serious people will love you for it.
I mean many people won't care, but the quality folk will notice and approve.
We make a singular commit per feature.
I always find this hard to follow personally.
Iβm using Copilot for it right now. It works on half of the cases.
That's about 300% better than my average!
Every time I commit I have to look through git diff
, figure out what the hell I actually did, come up with something intelligent to say about jt, possibly split the commit into multiple commits if I changed multiple things, do some shuffling with git reset
and git add
...
For some reason all my personal projects are all like 4K SLoC with 50 total commits, all of which include apologies for not doing more smaller commits
^psst,^ ^git^ ^add^ ^-p^
Remind me what -p does.
Edit: never mind - I see it mentioned below.
Patch add - it shows you particular changes you made, and you choose whether or not to include them in the commit. (You can then use git stash -k
to stash only the changes you did not add, so you can test before you commit.)
There's a bigger issue than your commit message if you don't even know what you just coded and are committing.
You see, sometimes I code something, go to bed before finishing it, come back, decide not to commit because then I'd have to think of a commit message and I just want to code, start working on an unrelated feature, do that for a couple days, get distracted by life stuff and put the project down for a few weeks/months, rinse and repeat, and then I finally get around to writing a commit message because I'm about to start a huge change and I want a restore point and I'm like. Okay, it's been like 3 months since my last commit, I'm pretty sure my code can now do something it couldn't 3 months ago but come on, I can't even remember what I had for lunch last Thursday
I'm well aware this is terrible practice but I don't know how to stop doing it
Commit more often. Maybe work in a different feature branch, and donβt be afraid to commit your half-working crappy code. If itβs a personal project/fork, itβs totally acceptable to commit often with bad commit names and small unfinished changes: you can always amend/squash the commits later. Thatβs how I tend to work: create a new branch, work on the feature, rebase and merge (fast forward, no merge commit). Also, maybe donβt jump around working on random features :P
"Fix"
"Bits were fiddled, possibly in the right way"
'Change' if I'm feeling particularly chaotic.
git commit -m $(date)
With 400 lines changed over 50 files
"updates"
βfeat: stuffβ
Guilty of this one myself.