this post was submitted on 12 Dec 2023
810 points (99.0% liked)
Programmer Humor
19452 readers
116 users here now
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
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
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.
Trunk based, eh? Yeah, we do that on a couple teams where I'm at, too. I like the philosophy, but force pushing the same commit over and over as you're incorporating review feedback is antisocial, especially when you've got devs trying to test your changes out on their machines.
eh, just squash and merge. Feature branch can be messy as long as main is clean
Yep. You have to make sure your feature branch works.
Or just use a good IDE that makes doing atomic commits pretty natural.
I've only tried the VS code hunk stager thing, and found it cumbersome compared to command line, but if you can make a GUI work for you ya go for it. I've never found it worth the trouble personally
Shout out to Lazygit for letting me stage individual lines
Looks pretty neat. I like that it shows the commands it's issuing!
You should try the JetBrains IDEs, as the other said, you can pick changes line by line graphically, when you commit, when you do a diff with another branch or when you fix conflicts. It's much more convenient than commands and terminal text editors.
Yay, learning!
Better yet,
git commit -p
uuuuuuuu. and you could do -m to describe the commit.
next they'll add --push/-P.
perhaps add -r for fetch/rebase then commit.
one command to rule them all! 😈