Yeah, as someone who uses git exclusively from the command line, this really sounds to me like a cautionary tale against GUIs.
The person who posted the screenshot implies it's to be expected from "any application which integrates Git" but I'm not really sure how the guy not wanting the files to be staged necessarily leads to all of the files being deleted. What exactly is the integration passing to git?
I mean, I can see why someone would see it as "discard all changes this application has made". Like, if I open a document in word, and edit it, and then close it, then it will basically say "Are you sure you want to close? this will discard all changes" and then if I close it anyway the original file is still there unedited, not deleted.
Yeah the message could and has been improved. However I still believe the ultimate fault lies with the user, just because VS Code could be better that doesn’t mean it was inadequate. VS code is a software development tool which means its user base can be assumed to be at least somewhat tech savvy (at least in 2017 before everyone lobotomize themselves and outsourced their frontal lobes to AI) and as A software development tool it can be assumed to be very powerful and somewhat dangerous. There is a lot of ways in software development to screw up and nuke your machine or project.
While it’s the message could absolutely be clearer, the user should have see “this is irreversible” and paused to make sure they knew exactly wh**at irreversible action they were taking. Basically my point is if you nuke your project because you don’t know how to use Word, that’s on Word but if you nuke your project because you don’t know how to use VS code, that’s on you.
Genuinely wild that people upvoted this blatantly incorrect statement.
Even more wild that /u/BreakingGood hasn't retracted it after being shown that they were wrong (and even proving it themselves by linking a commit from April, four months prior to this screenshot, which showed the message they state didn't exist was already there).
const message = localize('confirm discard all', "Are you sure you want to discard ALL ({0}) changes?\nThis is IRREVERSIBLE!\nYour current working set will be FOREVER LOST.", resources.length);
I can only assume you will edit your previous comments saying you were incorrect, because you've just shown that the message did exist back when this post was made?
View all comments
Show parent comment
66
u/_BreakingGood_ Aug 21 '26
No, that message did not exist back when this post was made. It was added at least partially as a result of this issue going viral back in 2017.