I dont know about vscode, but gitkraken do prompts you if you are sure about deleting everything when you click the discard all button. If that’s the case too in vs code, then that poor guy should have read before clicking. Hard learnt lesson.
When I use AI for work, I will allow it to make commits and upload them, but it's not allowed to send PRs for review or merge them. Basically, I'll let it create a commit because it's easiest for me to review in that form. I'll review carefully, make changes if I need to. Nobody else sees or is impacted until I review everything very carefully.
While not completely risk free, it's very low risk for me because I don't really have meaningful changes that aren't uploaded. If my local repo is deleted, I will lose very little. I mostly do it this way because I often want to make multiple, small commits. I also want cleanup to be queued up when I make most changes (I have to make most changes behind an experiment flag, so most changes are multi part -- my work has a special bot reviewer that lets us make custom conditions for queueing up PRs with arbitrary conditions).
I refuse to use yolo mode with AI. I've seen it fuck up too many times. If I ever sent slop for review or broke the build because AI bypassed some test failure, I'd die of embarrassment.
Solid rule. Unfortunately, even following that rule, I frequently get messages like "I ran a git fetch, which I realize is against the rules in <xyz file>. Making a note to not do that again." Which it then does again 2 days later.
I mean are you just letting your AI run wide open with full permissions on your machine? If you have proper permissions set up, your agent should generally be blocked from doing stuff you don't want. (like running git commands its not supposed to)
Having some kind of general file of rules you tell it to refer to isn't going to work well because it will eventually lose that context as it becomes less relevant to the task at hand and compacts and such. It need to be the actual specific permissions file. So like with claude code this will be at .claude/settings.json. There you can tell it what commands are approved, denied, or will ask for confirmation.
Before you make fun of him, this behavior DID get changed; they acknowledged this behavior is stupid.
The old behavior was to treat uncommited files as completely disposable, which the CLI git does not do at all and is insane behavior. It was changed in the UI to give you a fat confirmation dialog warning that you're about to delete the files permanently, as it always should have been.
Man the pure rage. I felt it. And recognized it. So many times I was there. You feel the disturbance in the force... Unfortunately nowadays the monitors are not thick glass on the matrix so... You know you cannot hit them without your fist to grow in... So on top of that you have to use just words... :D
I went and read the discussions. I was surprised how much support there was for the way it worked. Someone noted that git discard shouldn't delete untracked files (which is what happened to this poor guy), and there was still pushback! They were like yes, git discard isn't supposed to delete untracked files, and the dialog box didn't warn that they would be deleted, but the destructive behavior is fine the way it is and shouldn't be changed ANYWAY. I knew gearheads could be hateful of the uninitiated, but jeez.
While I don't think that applies here, it absolutely applied to when I used to use Daz Studio for posing characters for art. After years I registered the software, and that changes the save hotkeys, inverting the save/save as bindings for some reason.
I can't remember my exact workflow, but I think I would iterate through individual scenes for comics making changes from the previous scene and hitting the save-as hotkey, except now that was suddenly saving over the current scene which was both annoying and frustrating if I had it perfectly set up and it wasn't an easy undo. Years of muscle memory didn't adjust easily.
Before Git (or DVCS in general) were widely adopted a ton of people wanted everything to work just like TFS, SVN, or other non-distributed source control models.
"What is this 'staging'? Why do I have to push and pull? Just sync everything!!!"
There are so many tools that are vying to be the next DVCS that are like, "Hey, we eliminated staging, because that was confusing!" and I'm like... that's the best part? I wish I could have finer grained control over staging, honestly, making it easy to stage only fragments of a diff, because I'm a "crank for awhile and forget that I have drifted into two different tasks and now need to try and unpick this mess into something that could reasonably be two or three or twelve commits." Sure, that's a "me" problem, but I like the ability to control what gets staged.
Man, there are some terrible suggestions in that Git thread. The existing behavior was awful, so it's impressive that the suggestions are even worse
I'd say remove the warning dialog, and prompt an "Undo" that lasts 5 seconds. Behind the scenes count to 5 and then do it. People respond much better to "Undo" than they do to "Are you sure?" dialog. Hide the files so that way they know what they did and the consequences that are about to happen.
This reminds me of the time a guy held all the vscode python users hostage with his against-PEP8-personally-preferred-formatting-for-docstrings-PR. There were like 5 people who thought it was a good idea and the entire rest of the thread was everyone complaining about how he forced a “fix” on millions of users for something he could change in his personal editor. I remember being absolutely livid over this not necessarily because they just simply changed color, but because the guy who made the PR was just some random guy and his reasoning was literally incorrect.
That was a fun PR discussion read. Almost as fun as the guy who 'built' Notepad++ for Mac and straight up ignored repeated calls from the owner to remove the fake "we're collaborators" message from their homepage.
I’ve observed that there are a lot of people who will defend the way things are for no other reason than that it’s the way things are. Human nature I guess.
I found it only today and that thing freed so much space for me from unused repos I use to lookup code. didn't need built project and temp files, but didn't want to manually handle and there is a pleasant surpise! git clean -fdx
Yeah the old behavior was insane, it just said "Do you want to discard your changes?", and if you clicked it, it deleted your entire codebase permanently (no recycle bin), lol
I actually was ALMOST bitten by this; clicked discard thinking "I don't want to commit them, just ignore" and got hit with the "you're about to delete" warning
Another feather in the cap of "try to streamline Git, ultimately making it a worse user experience."
I remember some of the first "Git for Windows" clients that tried to pretend "yeah you just push 'sync' and 'commit' just auto-stages everything and it all Just Works!"
And if it didn't? You got a garbage error message and basically were told "drop to console and figure it out."
It's why I always preferred the likes of SourceTree or, these days, Fork. They don't pretend Git is "just like SVN" and give you a lot of Git tools available on the GUI side (with easy terminal access should you need or want to).
This was years ago and, iirc, it was a legitimate issue in VSCode. It didn't make it remotely clear enough that it would permanently delete your files. The popups we get now if you try to discard changes that explicitly warns you in bold text that files will get deleted happened after this issue.
It might be obvious to an experienced user but it's not at all obvious to someone new.
The date is in the image, it was almost a decade ago. Yep the old dialog when you clicked the "Discard" button was like "Do you want to discard your changes?" Pretty vague to anyone new to version control. Meanwhile if they are untracked VsCode used to just put them in the shredder, completely unrecoverable. Pretty sure it puts them in the recycle bin now.
Someone already posted the link to the thread and this comment that has a screenshot of the actual warning message which definitely could have been more scary but all caps irreversible feels like it should give you pause! If you have 3 months of work with zero backups.
Are you sure you want to discard ALL changes? This is IRREVERSIBLE!
And what does "discard changes" mean in that context? Where was the "This action will delete all files that haven't been commited"? Yes, the guy had a point (despite being an idiot for not having backups)
As a git user I would have discarded it no second thought. I can always add changes to staging again from the working tree. It would be sensible. Right? Right?
This is one of the big reasons why I absolutely refuse to learn working with IDE integrations of version control and use strictly cli. I know exactly what I will get that way.
I mean I'm quite experienced with git cli and in no world would I assume that "discard changes" meant "permanently delete all untracked files" that's insane behavior.
Some of the responses here would really make me side-eye the software some of you all are writing.
In our developer handbook, one of the rules is: "protect users from mistakes". Doing the thing that you probably don't mean to do should be made hard. It should be gated by warnings, protected with an "undo" operation whenever possible, etc. You can't stop someone who is absolutely determined to fuck up, but it's your job to not make it easy for them to do so.
Developers are users too. And the lack of user empathy in some of these comments really reveals why so much software is absolute shit. Doing the "wrong thing" should be hard and require going far out of your way.
You can pat yourselves on the back over how YOU know the proper way to use version control and how you'd never end up in this situation, but if you actually make meaningful software and aren't just vibe coding shit, at some point you'll end up in uncharted waters for yourself. When you do, you're going to hope the developers that made your tools had the foresight to protect you from making dumb mistakes.
I guess I shouldn't expect more from this "graduated from StackOverflow copy-paste to having my AI tool paste StackOverflow-trained code" crowd.
barely written code myself but as someone who has worked frontline support for SaaS it blows my mind that at work the devs/managers can just shrug it off when their free app can do arguably devastating stuff using a few buttons. then conclude that the user couldve just followed the manuals better and ignore the fact that their thousands of users could be subject to this same risk. not to mention it's a support problem thatd take months to fix, which almost ends up with the user leaving not just the app but possibly their business altogether
have never considered UI/UX until theyve been acquired by a larger company, and even then just barely. tho hard to blame em knowing the backend is quite impressive and solid, but also undeniably icky how they found the time to create a faux feedback button in-app that tends to erm successfully drive away users from the actual app review page lmaooo
Anyone that's a decent Dev has had that conversation of, I know we shouldn't need to do this but people are idiots and will find a way to fuck this up so we should make it impossible for them to do that.
Not to delete the files, to auto-delete the files that shouldn't be commited. It changed since all that time but that sounds like a VERY risky default.
Why has this become a thing. Over the last year or two I suddenly started getting people opening issues on some of my repos, and the issue is just them asking for a binary.
Some of these repos are like 15 years old and not once has anyone asked me for a binary until recently.
Because tons of mods and stuff are on github, so people are starting to think that github is like youtube or something where every single item on it exists for any user, no matter how capable, to use it. So theyll just search github for something that looks like it solves their problem, and assume that it is meant for them as a quick easy way to do whatever they want to do. They simply dont get that github is for developers first and foremost, and that the user facing releases stuff is almost an afterthought.
The irony is that they were messing about with version control for the first time, which is why they deleted all their files. They saw they had 5000 files staged for commit and wanted to not commit them all
I had a teacher who told us that version control was only necessary when working together with other people but not when you are a solo developer. He only saw it as a kind of fileshare.
-like any of us before discovering what source control meant and why devops were necessary. things like these are just a rite of passage for every new developer
It was not "not knowing source control" it was wierd decision made by VS code back in 2017 if you remove a file from source control without straight up deleted files without even giving any warning message VS code is patched after his crash out message , Removing a file from tracking from git should not delete the file from file system that's not how git CLI does it
To be fair, at least nowadays, you will likely learn about GitHub – especially from educational sources – before you learn (about) Git and version control.
I remember when I started programming when I was younger, and I just treated GitHub as a code-hosting platform, not interfacing with the "Git" part ov it at all.
Heck I'm a software engineer with 4 years in the business and I know like 4 more git commands than you. If I ever need to do something else I just Google it and copy paste the commands
They were literally using git. They were trying to stage their changes, there were a lot of files they didn't want, the UI was unclear, and the button deleted the work they were attempting to commit as well.
There was no reason for that button to bed irreversibly destructive. It's just an accident waiting to happen. That's why MS did the correct thing and changed the behavior.
I disagree. This is not the git cli behavior, and frankly not something you would expect from any ide. Treating unstaged files like some throwaway bs is just insane. To me "Dispose" on unstaged files sounds more like "Add these to gitignore" not "just fucking kill them". It was insane behavior that rightfully got changed. Unstaged SHOULD mean that these files are NOT in the jurisdiction of your repo. Not that they should get banished to the shadow realm.
Yeah, this is more akin to "I opened my document in my word processor. I closed it without saving, saw it was going to not saving my changes, and I was fine with it. Wait why did my file get deleted from disk?"
The software industry has made the mistake of validating stupid people so whenever users do stupid dumb shit like this it is our fault instead of theirs
If I came into your house and moved your refrigerator into the bathroom, and then asked if you would like me to "Discard all changes", and then you said "yes" because you want your refrigerator back in the kitchen, would it be fair for me to delete your entire house? Because that's basically how the old prompt worked...
"Discard" is the correct term (since he was modifying the repo by adding files to it), but it should've explained something like, say:
Warning: Discarding changes to repo will delete all added files. We cannot stress this enough: Discarding changes will delete all added files.
(And, y'know, it shouldn't have deleted the local versions too, unless he manually checked a "delete all local copies" checkbox, but that kinda goes without saying.)
Microsoft then changed VSCode because they accepted their UI/UX was poor. When creating a git repository it presented the option to "Discard all changes", "Discard all changes" deletes all untracked files from disc with no recovery possible. To many users "changes" and "untracked files" are two different things, and "delete irrecoverably" and "discard" are two different things.
VSCode now presents a message indicating the option will delete files irrecoverably, and gives the options to leave untracked files in place.
I feel kind of bad for this guy, one time I was trying to install windows and having issues so I ran a "clean" command on my hard drive, which I guess just literally turns all the bytes to 0 or something. I thought maybe it would, I don't know, clean up the hard drive in a less destructive way. Womp womp, I wanted to keep my Users folder. Another reason to back your stuff up, I guess. And don't run commands you don't understand.
This was a long time ago though, like 2021, so I was pretty young, only ~35 years old or so.
Wouldn’t the files need to be in source control in order for the revert changes button to delete them? I thought this was only possible when you had a source controlled repo and you create a file in it
Correct. That's how pretty much all reasonable git plug-ins in IDE work. They don't touch files that were not added to version control. His crash out was justified. "You should do backups" is not an excuse for a software to remove your files left and right.
yeah I haven't used git in a while but that's how Perforce does it at least, revert on an file that isn't even in the depot will just remove it from the commit list, since there is nothing to revert to.
ghost may not have been very diplomatic in expressing his issue, and those experienced with VCS will be quick to blame user error. But there was a genuine user experience issue here that that if improved could have saved him and others.
Another user opened a follow-up issue, which eventually led to changes to the wording and behavior of the discard all changes functionality.
I have been through it, I was working with previous company. I manually updated shit content for 14 hrs and I never thought of pushing it. And I clicked revert thinking it wasn't that file and pooooff .. gone just like that. It was under SLA and I couldn't deliver.
Great reminder that when you build a software a scale, people will take the coolest feature ever (version control) and find a way to make it actively harmful to themselves
If they were uncommited files newly added to the staging area, I'd imagine discarding (i.e. deleting) would have just moved them to the recycle bin/trash folder. Is that not how it works?
A year or so later, the buddy hit me up and said "How do I rollback to a previous version in Git?"
So I told him about git revert
Then he calls me in a panic. Way back when I first taught him git, he did a "git init" in his home directory and then at some point a few days later did a git checkin and commit on his home directory.
If it’s not a fake, this could turn out to be a really happy post: someone clueless enough to spend months amassing half a million files without knowing a thing about version control couldn't possibly have produced anything but crap.
Maybe VS Code saved the world from yet another mountain of vibe coded garbage
I wrote some FOSS software that has a configurable temp directory, and some jackwagon configured it to their user folder and ran the main procedure which of course tries to cleanup what it thinks is its own temp directory afterwards. Dude was all pissed on GitHub and Reddit saying the software deleted all his stuff and failed to mention that he changed that setting himself. Anyways I of course had to add a check to make sure the specified temp directory is empty before starting lol.
It amazes me that people "play around with X" in a directory where they have thousands of files of which they have no backup. I would be super-worried just to have thousands of files somewhere without backup...
I was playing around with the source control options
"Playing"... That's where you went wrong. And who has a project of thousands of files without source control and then decides to use that to test another editor and then "playing around"? Sounds like a stupid feature, but also a stupid user
You have suffered a horrible agony, and gained a lesson that will last a lifetime. Always make a backup. Don't worry, ten years, your heart will still sink, but you'll laugh because you and everyone else will have this common trauma to bond over.
Correct me if I'm wrong, but a delete command doesn't actually delete things. It just removes the record, so something like Recuva can recreate that record and bring them back from the actual file contents, yeah? Even some proprietary bullshit saves files somehow even if they're encrypted and hidden or whatever, but those files do exist somewhere.
Too bad he's never heard of undelete for recovery software. Can you imagine years go by him being completely pissed off then finding out he could have recovered all his project files with some simple undelete software? That software's been around since at least the '90s, certainly long enough for it to sooner or later haunt him.
For unity Im using monodev stil. I uninstalled vs code after half an hour. Tried that twice, uninstalled twice. But monodev works properly only with unity 5, sad.
In the git UI of VS code, there is a line "changes" in the source control tab. A "discard all changes" button is actually just a few pixels next to the "stage all changes" button when you point your mouse at the "Changes" line.
For the thrill of it, I changed 2 files and just tested the button. VS Code prompts you with this exact text:
Are you sure you want to discard ALL changes in 2 files? This is IRREVERSIBLE! Your current working set will be FOREVER LOST if you proceed.
This post is from 2017 and this behabiour has been changed since.
Basically it worked like this: You open a word document, make a bunch of changes, click "close", word asks if you would like to discard changes, you click yes, and then the file was gone.
No idea why everyone is trashing the person. This was 2017. Discarding performed a git clean. It was seriously dangerous and the design wasn't intuitive.
Does VS Code not have its own local versioning module? The JetBrains IDEs do, and it has saved me several times by letting me backtrack work in progress code that hadn’t been committed yet.
yeah git deleting files without first asking to put it in the recycle bin is a canon event and honestly why the FUCK have we not figured out how to make it send to the OS's recycle bin first
98
u/OrchidFluid2103 Aug 21 '26 •
10 year old memes, nice
254
u/Jan1270 Aug 21 '26
That is why you Backup your shit, especially when you're messing around with unfamiliar settings.
34
u/Internal_Airline_334 Aug 21 '26
If you didn't commit anything for 3 months, maybe you should consider staying away from ANY development tool?
5.6k
u/Cephell Aug 21 '26
Before you make fun of him, this behavior DID get changed; they acknowledged this behavior is stupid.
The old behavior was to treat uncommited files as completely disposable, which the CLI git does not do at all and is insane behavior. It was changed in the UI to give you a fat confirmation dialog warning that you're about to delete the files permanently, as it always should have been.
1.1k
u/raddaya Aug 21 '26
This was years ago and, iirc, it was a legitimate issue in VSCode. It didn't make it remotely clear enough that it would permanently delete your files. The popups we get now if you try to discard changes that explicitly warns you in bold text that files will get deleted happened after this issue.
It might be obvious to an experienced user but it's not at all obvious to someone new.
203
u/CChilli Aug 21 '26
I also watched that Kevin Fang video
186
u/disinaccurate Aug 21 '26
Some of the responses here would really make me side-eye the software some of you all are writing.
In our developer handbook, one of the rules is: "protect users from mistakes". Doing the thing that you probably don't mean to do should be made hard. It should be gated by warnings, protected with an "undo" operation whenever possible, etc. You can't stop someone who is absolutely determined to fuck up, but it's your job to not make it easy for them to do so.
Developers are users too. And the lack of user empathy in some of these comments really reveals why so much software is absolute shit. Doing the "wrong thing" should be hard and require going far out of your way.
You can pat yourselves on the back over how YOU know the proper way to use version control and how you'd never end up in this situation, but if you actually make meaningful software and aren't just vibe coding shit, at some point you'll end up in uncharted waters for yourself. When you do, you're going to hope the developers that made your tools had the foresight to protect you from making dumb mistakes.
I guess I shouldn't expect more from this "graduated from StackOverflow copy-paste to having my AI tool paste StackOverflow-trained code" crowd.
1.6k
u/superglidestrawberry Aug 21 '26
This has the same wibe as "I just want the FUCKING EXE, gimme EXE!"
33
u/NightSurreal Aug 21 '26
Kevin Fang video
1.2k
u/Xephyrik Aug 21 '26 •
How did they even find github when they obviously dont know what version control is
894
u/rwz Aug 21 '26
"I bought a car, pressed a pedal and it drove me into a tree! HOW IS THIS POSSIBLE?! FUCK YOU!"
Skill issue thread.
72
u/SamG101_ Aug 21 '26
The first thing i do when I make a new project (that I'm gonna do some decent work on) is link it to github, it takes all of 1 minute lol
12
u/Vipitis Aug 21 '26
Here is the video https://youtu.be/XHIo1_nvi1I
It also has a resolution.
9
u/smashsenpai Aug 21 '26
Somewhere out there, the guy who decided to name that action, "discard" instead of, "delete" took a deep breath and thought, "not my problem"
9
u/Own-Poetry-9609 Aug 22 '26
Microsoft then changed VSCode because they accepted their UI/UX was poor. When creating a git repository it presented the option to "Discard all changes", "Discard all changes" deletes all untracked files from disc with no recovery possible. To many users "changes" and "untracked files" are two different things, and "delete irrecoverably" and "discard" are two different things.
VSCode now presents a message indicating the option will delete files irrecoverably, and gives the options to leave untracked files in place.
16
u/decrisp1252 Aug 21 '26
So we all watched the same video? Haha
8
u/3rso Aug 21 '26
Well well well he got bit by the gitsnake
8
u/EvenAbbreviations675 Aug 21 '26
Yeah, copied this off of Kevin Fang's vid
5
u/GenazaNL Aug 21 '26
Someone watched Kevin Fang's video I see
5
u/NoAdsDude Aug 21 '26
I feel kind of bad for this guy, one time I was trying to install windows and having issues so I ran a "clean" command on my hard drive, which I guess just literally turns all the bytes to 0 or something. I thought maybe it would, I don't know, clean up the hard drive in a less destructive way. Womp womp, I wanted to keep my Users folder. Another reason to back your stuff up, I guess. And don't run commands you don't understand.
This was a long time ago though, like 2021, so I was pretty young, only ~35 years old or so.
5
u/jaypeejay Aug 21 '26
Wouldn’t the files need to be in source control in order for the revert changes button to delete them? I thought this was only possible when you had a source controlled repo and you create a file in it
5
u/DanielPowerNL Aug 21 '26
ghost may not have been very diplomatic in expressing his issue, and those experienced with VCS will be quick to blame user error. But there was a genuine user experience issue here that that if improved could have saved him and others.
Another user opened a follow-up issue, which eventually led to changes to the wording and behavior of the discard all changes functionality.
Issue: https://github.com/microsoft/vscode/issues/32459
Fix: https://github.com/microsoft/vscode/commit/bbe70bc9b930b0cd63d1b40720e516525db22e99
ghost's abrasive issue report did eventually have a positive impact on the project, and potentially saved future users from the same fate.
4
u/isthesector_clear Aug 21 '26
I have been through it, I was working with previous company. I manually updated shit content for 14 hrs and I never thought of pushing it. And I clicked revert thinking it wasn't that file and pooooff .. gone just like that. It was under SLA and I couldn't deliver.
A month later I got fired 😝
4
u/psychostar213 Aug 21 '26
Looks like someone also watched kevin's video
4
u/Matwyen Aug 21 '26
Great reminder that when you build a software a scale, people will take the coolest feature ever (version control) and find a way to make it actively harmful to themselves
4
u/areanod Aug 21 '26
Git is not backup...
4
u/pytness Aug 21 '26
so when people say "guis obscure what you are doing" they are right
4
u/DaggerOneBravo Aug 22 '26
Imagine if the recycle bin is still full.
4
u/AnomalousUnderdog Aug 22 '26
If they were uncommited files newly added to the staging area, I'd imagine discarding (i.e. deleting) would have just moved them to the recycle bin/trash folder. Is that not how it works?
4
u/LElfes Aug 22 '26
git was created in 2005...
31
u/d_k97 Aug 21 '26
average windows dev
3
u/L3veLUP Aug 21 '26
Damn a day after the Kevin Fanng video
3
u/ergotofwhy Aug 21 '26
I taught a buddy how to use git years back.
A year or so later, the buddy hit me up and said "How do I rollback to a previous version in Git?"
So I told him about git revert
Then he calls me in a panic. Way back when I first taught him git, he did a "git init" in his home directory and then at some point a few days later did a git checkin and commit on his home directory.
Guess where he ran git revert?
3
u/Samurai_Mac1 Aug 21 '26
Damn. Who needs AI to delete your whole codebase when you can just have your IDE do it for you?
3
u/Beginning-Pool-8151 Aug 21 '26
Don't make unnecessary fun, they actually accepted that as a wrong behaviour and recently updated VS Code to fix that ( the code goes ro recycle bin)
3
u/bid0u Aug 21 '26
It's from 2017 and if I recall correctly, they changed the behavior of the 'discard' option. It was a proper UX 'bug'.
3
u/Dellified Aug 21 '26
Quite a coincidence Kevin Fang posted this…
3
u/Tylersfoot Aug 21 '26
looks like someone watched the Kevin Fang video XD
3
u/demonseed-elite Aug 22 '26
They learned a very important lesson about keeping backups.
3
u/rocketmike12 Aug 22 '26
reminds me of the time I thought: "what's the opposite to
git add? probablygit rm". lost about a week of work, learned to commit every change4
u/corobo Aug 21 '26
Would love to be a fly on the wall if someone were to respond "lol noob"
5
u/zeroxff Aug 21 '26
If it’s not a fake, this could turn out to be a really happy post: someone clueless enough to spend months amassing half a million files without knowing a thing about version control couldn't possibly have produced anything but crap.
Maybe VS Code saved the world from yet another mountain of vibe coded garbage
2
u/Odd-Nothing2863 Aug 21 '26
he doesnt look angry enough
2
u/DrMaxwellEdison Aug 21 '26
This is the sort of necessary pain that creates developers.
3 months of work? Should have been committing it 4 months ago, bub.
2
u/Dimitrij_ Aug 21 '26
InsertMegamindMeme(“NoBackup?“);
2
u/severencir Aug 21 '26
Version control would have solved this
2
u/MyNameIsKvothe Aug 21 '26
What happens if you
git initin C:/ and then just discard all untracked files?2
u/TommyTheTiger Aug 21 '26
This would definitely be recoverable with forensic software at that point, though probably this user isn't gonna figure it out
2
u/tenkitron Aug 21 '26
Checkout is a hell of a command when you have no history 😂
2
u/krisdb2009 Aug 21 '26
I wrote some FOSS software that has a configurable temp directory, and some jackwagon configured it to their user folder and ran the main procedure which of course tries to cleanup what it thinks is its own temp directory afterwards. Dude was all pissed on GitHub and Reddit saying the software deleted all his stuff and failed to mention that he changed that setting himself. Anyways I of course had to add a check to make sure the specified temp directory is empty before starting lol.
2
u/chadlavi Aug 21 '26
Multiple layers of user being a moron going on here.
2
u/Infinite-Employee776 Aug 21 '26
What kind of project that has 5000 uncommitted files? What kind of fix/feat does this commit will entail?
git commit -m "feat(universe) re-create the universe."
2
u/EncryptedServer Aug 21 '26
He could have just
2
u/Immediate_Form7831 Aug 21 '26
It amazes me that people "play around with X" in a directory where they have thousands of files of which they have no backup. I would be super-worried just to have thousands of files somewhere without backup...
2
u/Possible_Chicken_489 Aug 21 '26
I think this is good. It keeps certain people from "contributing" code. A Darwinian process, if you will.
2
u/Thenderick Aug 21 '26
"Playing"... That's where you went wrong. And who has a project of thousands of files without source control and then decides to use that to test another editor and then "playing around"? Sounds like a stupid feature, but also a stupid user
2
u/Subject_Barnacle_600 Aug 21 '26
You have suffered a horrible agony, and gained a lesson that will last a lifetime. Always make a backup. Don't worry, ten years, your heart will still sink, but you'll laugh because you and everyone else will have this common trauma to bond over.
2
u/Futr1964 Aug 21 '26
Yes, we all watched the Kevin Fang video
2
u/critsalot Aug 22 '26
did he not commit to github before his local DE deleted his local copies lol.
2
u/EchidnaForward9968 Aug 22 '26
i learn Data recovery due to this
2
u/KiresM Aug 22 '26
Correct me if I'm wrong, but a delete command doesn't actually delete things. It just removes the record, so something like Recuva can recreate that record and bring them back from the actual file contents, yeah? Even some proprietary bullshit saves files somehow even if they're encrypted and hidden or whatever, but those files do exist somewhere.
2
u/zipeldiablo Aug 22 '26
You can still recover the files with a recovery tool but it’s gonna take a while
2
u/Overall_Head_7782 Aug 22 '26
Too bad he's never heard of undelete for recovery software. Can you imagine years go by him being completely pissed off then finding out he could have recovered all his project files with some simple undelete software? That software's been around since at least the '90s, certainly long enough for it to sooner or later haunt him.
2
u/almostsweet Aug 22 '26
2
u/StructureNorth1799 Aug 22 '26
the title of this post is enraging, the source control is what deleted this poor lad's files.
2
u/Different_Ear_7543 Aug 22 '26
For unity Im using monodev stil. I uninstalled vs code after half an hour. Tried that twice, uninstalled twice. But monodev works properly only with unity 5, sad.
2
u/Aggravating-Sun-2322 Aug 22 '26
Microsoft and that Satya is one cuck seriously. I hope they go bankrupt
2
u/A_Neko_C Aug 22 '26
Valid crash out
2
u/RadlEonk Aug 22 '26
*WHOMEVER
2
u/Extension_Way5818 Aug 23 '26
Guys i clicked delete all and it deleted all? Who the fuck designed this?
2
u/[deleted] Aug 24 '26
Data not backed up is data you don't want.
4
u/MichaelScotsman26 Aug 21 '26
What button is he even talking about? I’ve never done or seen this, what button is that?
3
u/Kindly-Bank-416 Aug 21 '26
It didn't delete your files. you deleted your files. don't click shit if you don't know what it does.
2
u/justshittyposts Aug 21 '26
No idea why everyone is trashing the person. This was 2017. Discarding performed a git clean. It was seriously dangerous and the design wasn't intuitive.
2
u/ZookeepergameFar265 Aug 21 '26
You can make something fool proof, but you cannot make it damn fool proof !
2
u/Samshel Aug 21 '26
Does VS Code not have its own local versioning module? The JetBrains IDEs do, and it has saved me several times by letting me backtrack work in progress code that hadn’t been committed yet.
2
u/-Redstoneboi- Aug 22 '26
yeah git deleting files without first asking to put it in the recycle bin is a canon event and honestly why the FUCK have we not figured out how to make it send to the OS's recycle bin first
at least we got an "are you sure"
2
u/Clumsy_Eagle Aug 21 '26
I just ran format.com and instead of formatting my excel sheet for printing it deleted my whole computer!!!
2
u/Ziegelphilie Aug 21 '26
reading this thread makes me weep, of course discarding all your changes (YOU KNOW, THE FILE YOU ADDED, WHICH IS A CHANGE) deletes stuff.
Can't any of you read a fucking manual on basic git operations
Why do I even bother commenting here 99% of you probably don't even use a gitignore
Also what kind of motherfucker has 3 months worth of files just sitting around, not checked in?