this post was submitted on 23 Jul 2024
442 points (96.4% liked)

Programmer Humor

19114 readers
532 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
442
rm -rf / (programming.dev)
submitted 1 month ago* (last edited 1 month ago) by JPDev to c/programmer_humor
 
all 35 comments
sorted by: hot top controversial new old
[–] [email protected] 48 points 1 month ago (2 children)

Is that better or worse than pushing a corrupt C-00000291*.sys?

[–] [email protected] 7 points 1 month ago (1 children)
[–] [email protected] 5 points 1 month ago

Better. I'm not even sure this is bad, per se. Presumably you're sure your present repo is trash.

[–] [email protected] 30 points 1 month ago

Why learn how to use the entire swiss army knife when you can keep it closed to use it as a very small hammer?

[–] [email protected] 25 points 1 month ago (2 children)

I always use this command as $rm -fr and read it as remove, for real

[–] [email protected] 12 points 1 month ago (1 children)

I do write it as rm -rf, but then my brain always continues singing The Lion Sleeps Tonight...

[–] [email protected] 5 points 1 month ago

singing The Lion Sleeps Tonight...

"reeHEEEEEEEEEEEEEE--EE--Eaally ya-sure ya-wan-nadothaaat?"

(rm -rf, rm -rf, rm -rf)

[–] sukhmel 6 points 1 month ago

it's for the French locale

[–] [email protected] 19 points 1 month ago

Hey, sometimes you need to hose out the cruft.

Why yes, I do maintain a legacy application that still stores user files in Program Files in blatent violation of 15 years of Windows best practices and continues to be done contrary to my repeated advice, why do you ask?

[–] [email protected] 18 points 1 month ago

Another one of this kind is rm -rf node_modules && npm install

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

What? Why would you need to do this? Is someone fucking with the .git directory?

[–] [email protected] 16 points 1 month ago (2 children)

It does sometimes happen that something in there just breaks and isn't easy to recover. But it can also be a matter of (inexperienced) devs just deciding, fuck it, I won't try to merge it, I'll just copy my changes elsewhere and throw away the repo.

[–] nous 9 points 1 month 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 1 month 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 1 month 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.

[–] nous 2 points 1 month 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.

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

But it can also be a matter of (inexperienced) devs just deciding, fuck it, I won't try to merge it, I'll just copy my changes elsewhere and throw away the repo.

Pretty sure that's actually it. Git has a learning curve and, for example, some naive rebase not working out as intended can be scary if you don't know what you're doing.

[–] [email protected] 9 points 1 month ago

People inexperienced with git can get stuck after doing some funky checkout / rebase stuff. If you don't know your way around git so well, I guess this is the obvious solution.

[–] [email protected] 5 points 1 month ago

I've been doing this yesterday. Not because Git broke, but since Intellij kept pulling invalid configs from the cache, and that was based on some kind of path identifier it seemed.

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

Gradle!

Fucking gradle. I do config stuff, rerun gradle error here, I fix the error rerun gradle: sth. Violation error.

Ok intellij invalidate chaches and restart.... Still same error.

Fine I'll do it again

git add. 
git commit -m "stuff"
git push

rm -rf repo
git clone repo
[–] iammike 4 points 1 month ago

You can probably use something like

git clean -xdf

To get rid of all the artifacts not tracked by git, in this case it's virtually the same as deleting the repo and re-cloning it.

NOTE: Make sure everyhing is staged, otherwise that data is gone

[–] [email protected] 14 points 1 month ago* (last edited 1 month ago) (1 children)
[–] [email protected] 5 points 1 month ago

Nuke the reflog

[–] [email protected] 13 points 1 month ago (1 children)

I feel dumb: Why git rm -rf and not rm -rf? O.o

[–] JPDev 31 points 1 month ago* (last edited 1 month ago) (3 children)

git rm -rf is only usable within the scope of the git repository and removes files in the staging area and working directory but doesnt affect untracked files or .git. rm -rf affects everything. For this case rm -rf probably would be the better option

edit: did a quick edit on the meme to change it to rm -rf since it makes more sense

[–] BatmanAoD 17 points 1 month ago

rm - rf is the only version that makes sense, since the only reason to delete and re-clone is to recover from an unexpected .git/ state, and git rm won't remove that.

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

Never heard of it, makes total sense, but I'd guess 95% of developers just nuke the directory raw.

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

That's the joke, yes.

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

I guess that's probably easier than learning how to wipe your ass.

[–] [email protected] 9 points 1 month ago

ew french language pack gross

[–] [email protected] 7 points 1 month ago

Delete container, rebuild container. Sometimes it's just useful to clean up all the mess of cache files

[–] [email protected] 5 points 1 month ago (1 children)
[–] sukhmel 11 points 1 month ago

No, not this time, at least

Four panel meme from the Simpsons, Marge screams "Cloudflare, no", Bart appears from the different direction with Cloudflare logo on him, asking why, Marge replies "Sorry, force of habit. CrowdStrike, no!"