LoginSignup
1
0

Git Checkoutでローカルの変更が全部ぶっ飛んだ時の対応

Posted at

VSCodeを使っている場合の解決策

誰もが少なくとも一回は経験したであろうGitの誤操作でデータぶっ飛ぶ問題、VSCode利用者のための最強の解決策を見つけてしまったかもしれません。

半月ほど前から初めてチーム開発を始め、Gitを勉強しながらコーディングし続ける日々の中、その出来事は起こりました。

チームメンバーの一人のプルリクエストでマージコンフリクトが発生し、解決しなければならない!すかさずGitHub Desktopをダウンロードしブランチを切り替えるがマージコンフリクトのエディタが見つからない。さあここでVSCodeを開いて、彼のブランチをcheckoutする。ローカルの変更をスタッシュ?何だそれ?ポチッ。
あれ?何かがおかしいぞ。ん?今日作ったはずのチャット画面が消えている。もしやこれは…

てなシチュエーションです。調べてみると、Gitはコミットした地点に巻き戻すことはできるが、コミットしていなかったらもう復元不可、ただしVSCodeユーザーには抗う術が与えられています。Git Checkoutと関連して記事が書かれていないので、備忘録も兼ねて今回共有することにしました。

解決策はとてもシンプルで、VSCodeのコマンドパレットで、Local History: Find Entry to Restoreというコマンドを実行するだけです。

Screenshot 2024-03-15 at 16.03.00.png

これを実行したら、ファイルの検索画面が出てくるので、復元したいファイル名を検索しましょう。

Screenshot 2024-03-15 at 16.15.52.png

復元したいファイル名が出てきたらそれを選択してエンター、もしくはクリックしてください。

Screenshot 2024-03-15 at 16.17.16.png

こっから復元したいセーブ日時を選ぶと、右に現在のファイル、左に選択したセーブ日時のファイルが表示されます。

Screenshot 2024-03-15 at 16.19.35.png

いつもVSCodeに助けられてばかりですね。もうNeoVimに乗り換えようとか言うのやめます。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0