this post was submitted on 07 Feb 2025
742 points (98.9% liked)

Programmer Humor

33529 readers
278 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 
top 35 comments
sorted by: hot top controversial new old
[–] [email protected] 88 points 1 week ago (2 children)

If you've ever royally fucked something up in git, that hotline is necessary

[–] [email protected] 24 points 1 week ago (1 children)
[–] [email protected] 9 points 1 week ago (1 children)

I have been that friend from the alt text at every place I have worked. I shudder to think how they're going about their projects without me, now.

[–] [email protected] 2 points 1 week ago* (last edited 1 week ago) (1 children)

I'm kinda planning on teaching my team how to use interactive rebases to clean the history before a merge request.

The first thing they'll learn is to make a temporary second branch so they can just toss their borked one if they screw up. I'm not going to deal with their git issues for them.

[–] [email protected] 3 points 1 week ago (2 children)

I'm kinda planning on teaching my team

I'm not going to deal with their git issues for them.

These two statements contradict each other.

[–] [email protected] 2 points 1 week ago

I disagree. I don't wanna deal with my coworkers work, so I'm teaching them to deal with it themselves. Not necessarily in the best way for them to do it, but in an easy way to teach and an easy way to get right

[–] [email protected] 2 points 1 week ago

That's why I'll make damn sure they'll make that second branch first.

Mind you, the most likely result is that I'll still see branches with 50+ commits with meaningless names because nobody ever rebases anything.

[–] [email protected] 20 points 1 week ago (1 children)

Never understood why this is such a trope. There's very little you can't recover in git (basically, only changes you never committed in the first place).

[–] [email protected] 3 points 1 week ago (1 children)

Have you ever tried a rebase?

[–] [email protected] 28 points 1 week ago

Not sure if serious or not, but yeah I use interactive rebases every day, many times a day (it's nice for keeping a clean, logical history of atomic changes).

It's very simple to recover if you accidentally do something you don't intend (git rebase --abort if the rebase is still active, git reflog to find the commit before the rebase if it's finished).

[–] [email protected] 47 points 1 week ago (3 children)
[–] [email protected] 16 points 1 week ago (1 children)

You can prevent suicide by eating a pizza made with glue ✨✨

[–] [email protected] 2 points 1 week ago

Prevent or commit?

[–] [email protected] 3 points 1 week ago

It's cropped out u_u

[–] [email protected] 2 points 1 week ago

Probably because of the word conflict being a trigger word.

[–] [email protected] 43 points 1 week ago (1 children)
IN CASE OF FIRE:

1. git commit
2. git push
3. exit building
[–] [email protected] 30 points 1 week ago* (last edited 1 week ago)
THE CAUSE OF FIRE:  

1. git pull
2. merge conflict
3. starting fire
[–] [email protected] 33 points 1 week ago* (last edited 1 week ago) (2 children)
[–] [email protected] 22 points 1 week ago

"Fuck the code review!"

[–] [email protected] 13 points 1 week ago

It moves the suicide to the other end of the repository.

[–] [email protected] 31 points 1 week ago
[–] [email protected] 21 points 1 week ago (1 children)

I actually feel disgusted when I see Google search now. It’s just so bad that even the logo does it.

[–] [email protected] 3 points 1 week ago

Aww hang in there little fella

[–] [email protected] 15 points 1 week ago
[–] [email protected] 8 points 1 week ago (1 children)

I will say. if you have no idea at least clone your branch so you can experiment on it.

[–] [email protected] 11 points 1 week ago

Experiment on the suicide hotline? I'm sure they won't appreciate that!

[–] [email protected] 6 points 1 week ago (1 children)

Doesn't git status tell you what to do?

use "git add ..." to mark resolution

use "git commit" to conclude merge

I always use git status to check what is appropriate before doing anything else, since the right thing to do can sometimes be different, like after using git rebase when a break command was used vs when a squash command resulted in a conflict.

[–] [email protected] 3 points 1 week ago (1 children)

To be fair that's not the entire story, since you need to actually resolve the conflicts first, which is slightly scary since your worktree will be broken while you do it and your Linter will be shouting at you.

You may also want a dedicated merge tool that warns you before accidentally commiting a conflict and creating a broken commit.

Oh and non trivial resolutions may or may not create an evil merge which may or may not be desirable depending on which subset of git automation features you use.

Using git status often is definitely good advice though.

[–] [email protected] 2 points 1 week ago

Magit for Emacs is an excellent tool for resolving conflicts.

[–] [email protected] 6 points 1 week ago

sounds about right

[–] [email protected] 4 points 1 week ago

Branching version control was definitely a “they have played us for absolute fools” moment. Especially after all our projects ended up as isolated branches on isolated microservice repositories so basically none of our code was being integrated, let alone continuously. Good for full-remote open source projects where a central admin team has to police submissions though.

[–] [email protected] 1 points 1 week ago

Git is great. Git is Complicated. But assuming you have a protected master branch that requires PRs and will detect merge conflicts before attempting to merge, it's not really dangerous. It is however frustrating.

[–] [email protected] 1 points 1 week ago

Praise be Magit, which actually allows me to handle stuff like that moderately confidently.

[–] [email protected] 1 points 1 week ago

What the hell is that phone number? That's giving 0118 999 88199 9119 725 3 vibes

[–] [email protected] 0 points 1 week ago

I mean, you just need to look at the conflicting files, fix up the code, then stage those changes and pop a new commit

There's no "special" merge conflict resolution commit "type"


As for fixing the code itself, I usually look at what changed between both versions, and then re-author the code such that both changes make "sense"