VSCodeの「変更を破棄」で3ヶ月分のコード消失、海外掲示板は自己責任論に
姉妹サイトの新着
海外掲示板4chan /g/に、VSCodeの「Discard All Changes」ボタンを押して3ヶ月分の未コミットコードを丸ごと消してしまったという投稿が立った。バックアップを取らなかった本人の落ち度だとする声が大半を占めたが、Gitの仕組みを理解していれば起きなかった事故だという指摘や、Microsoftの警告表示は法的な建前に過ぎないという分析も交じり、ちょっとした技術談義に発展していた。
自業自得
これ別にGitHubは関係ないだろ
それな。昔ながらに押し入れいっぱいのHDDに手動で全バージョンをバックアップしてないなら自業自得だわ
全部消せば全部消えるに決まってるだろ。バックアップが無いなら、それはお前の問題だ。
またPEBCAK(椅子と机の間に問題がある=ユーザーのミス)か。そりゃそうだ。
これはひどい技術不足
AIを使うべきだったな
AIならもっと効率よくコードを消してくれてたよ
たぶんVSCode自体がしばらく前から『バイブコーディング』(AI任せの雑な開発)されてるからだろ
git CLI派、また勝ったな
>gitリポジトリを初期化する
>3ヶ月間何もコミットしない
>『変更を全て破棄』を押す
>『N個のファイルの変更を全て破棄しますか?これは取り消せません!このまま進めると現在の作業内容は永久に失われます!』と表示される
>『全ファイルを破棄』をクリックする
>全部の変更を失う
>なぜかそれがVSCodeのせいになる
そう、>>13に書いてある通りだよ
ゴミ箱はバックアップじゃない
こいつ、探す場所を間違えてるだろ
一応バージョン管理はしてるぞ。『old』フォルダと『new』フォルダを用意してて、ドライブにコピーするときにoldフォルダを消してnewをoldにリネームし、新しい『new』フォルダにファイルを入れてる。
そのボタンには『これは取り消せない完全な操作』と書いてあって、GitHub、つまりMicrosoftはその表示に法的に従う義務がある。実行前にわざわざ特定の文言を手入力させるようになってるくらいだ。Microsoftはちゃんとユーザーの権利を尊重してるんだと思いたい。
ここでの問題はGitの仕組みを理解していなかったことだ。ソース管理パネルで『全て破棄』ボタンを押すのは、`git restore .`を実行するのと同じだからな。
ありがとう。ロックスター・ゲームズやアクティビジョン・ブリザードがバージョン管理システム(VC。ボイスコールや検証可能な資格情報、ベンチャーキャピタルの出資とは違う意味の方な。どうも複数の意味を頭の中で同時に扱うだけのメモリが無い奴もいるみたいだから)を使ってないみたいな言い草には驚くわ
>やっとステージしようとする
>破棄をクリック
>頼んだ通りに変更が破棄される
俺はプログラマーですらないけど、これはさすがに笑えるわ
LinuxにはSSD全体を即座にTRIMできるコマンドがある。システムドライブでもだ
他サイトの新着
>それに専念するために仕事を辞めた
Redditでこのセリフを見るたびに、大体そのゲームはマジでクソだったんだよな
>3ヶ月やってて
>バックアップ無し
自業自得
そうだな、バカバカしいレベルであまのじゃくになってる感じがするし、それは大体ろくな結末にならない
UNIXに補助輪は付いてない。コンピューターは命令された通りのことをするだけだ。AGIには豪華な補助輪が必要になるだろうな
>UNIXに補助輪は付いてない
マニュアルはあるし、『AI』はマニュアルくらい読めるだろ
>破棄
全部消えると明示的に書いてあるボタンをか?全部消えるとはっきり書いてあるボタンを押したら、全部消えたって?
GitHubから乗り換えて唯一物足りないのは、リポジトリ内パッケージの重大なセキュリティ更新を自動でマージリクエストしてくれるDependabotみたいな機能くらいで、それ以外はGitLabにかなり満足してる
さすが分かってるCEOだな
この話題の背景と論点
VSCodeの「変更を破棄」は見た目こそワンクリックの操作だが、実体はソース管理パネルからgitの復元コマンドを呼び出しているだけで、Gitでいう「作業ツリーの変更を元に戻す」処理そのものである。3ヶ月間一度もコミットしていなければ、そもそも復元先となる履歴が存在せず、GitHubやMicrosoft固有の欠陥というより「バージョン管理を使わずに使っていた」状態が原因といえる。
スレで割れたのは、この事故を単純な自己責任(バックアップ・コミット不足)とみるか、警告文言はあっても取り消し不可の破壊的操作をワンクリックで実行できるUI設計自体に問題があるとみるかという点で、後者からは同種の要望が9年前のGitHub issueで既に指摘されていたのに放置されているという指摘も出ていた。
見落とされがちなのは、この現象はVSCode特有のバグではなくGit本来の仕様であり、こまめなコミットやプッシュさえしていれば「破棄」を押しても失われるのは直前の未コミット分だけで済んだという点だ。
※本記事は海外掲示板 4chan /g/ (Technology) のスレッド「I can’t believe microslop has a delete everything with no recovery option.」から抜粋し、編集部で日本語に意訳したものです。訳文の責任は当サイトにあります。














まだコメントはありません。