this post was submitted on 23 Jul 2024
430 points (96.5% liked)

Programmer Humor

19623 readers
21 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

founded 1 year ago
MODERATORS
430
rm -rf / (programming.dev)
submitted 4 months ago* (last edited 4 months ago) by [email protected] to c/[email protected]
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 9 points 4 months ago (2 children)

I have never had git get into a state I cannot get out of. Even if that is a reset, checkout or clean. And those are very rare. How are people breaking things so often.

Learn the tools you use daily, it saves you a lot of headache in thelong term.

[–] [email protected] 6 points 4 months ago

Oh yeah, but I'm talking about the internal Git state just genuinely being broken, for example: https://stackoverflow.com/questions/14448326/git-commit-stopped-working-error-building-trees
Ultimately, if you spend half an hour debugging that, it just starts being a waste of time compared to cloning anew.

As for how to merge, yes, one should learn that. The problem is that the complexity of the code changes adds on top of whatever insecurities you might still have with Git.
I did put "inexperienced" in braces there, because even as an experienced dev, merges are sometimes just not worth doing. In that case, you could just checkout the branch a second time, but well, still not that different.

[–] [email protected] 1 points 4 months ago (1 children)

Step 1. Forget to push local commits

Step 2. Push commits from another machine

Step 3. Pull from remote om the first machine

I'm a bit of a noob, I often do this when I get too careless.

[–] [email protected] 2 points 4 months ago

That should not break things though. Maybe get a merge conflict that you need to sortout at worst. This is essentially the constant state of working with other people on a project.