【git】checkoutコマンドでブランチを変えようとしたらメッセージ出て移動できなくなった
git checkout masterでブランチを変えようとしたら「Deletion of directory ‘projects’ failed. Should I try again?(ディレクトリ「プロジェクト」の削除に失敗しました。 もう一度やり直しますか?)」というメッセージが出て、しかも「y/n」打っても反応しなくなってどうしたらいいのかわかんなくなった時の備忘録
しかもprojects配下のファイルが消えた…なんだこれ…
原因、Visual Studio Codeでファイルを開いてた
Visual Studio Codeで「projects」配下のファイルを開いてて、checkout
コマンドでブランチを移動しようとしたら、移動先のブランチに開いていたファイルが無くてVisual Studio Code上で削除されたことが原因っぽい
しかも、「projects」配下の構成が全く異なるからか配下のファイル全部消えた
Visual Studio Codeを開いていると以下のメッセージにy
もn
もどっちも通らなかった
Deletion of directory 'projects' failed. Should I try again? (y/n)
で、どっちを選択しても下記のメッセージが出た
I did not understand your answer. Please type 'y' or 'n'
同じメッセージ出続けるので「Ctr+C」で抜けだして、Visual Studio Codeを閉じてからcheckout
コマンドで移動したら移動できた
Visual Studio Codeを閉じても「projects」配下のファイルは消えたまま
消えちゃったファイルはリポジトリからpullして戻したんだけど、ブランチを移動すると「projects」配下のファイルが全部消える現象は引き続き残っていたので
Visual Studio Code開き、左側のアイコンで「ソース管理」ってのがあるんだけど、そこで「projects」配下全てのファイルを削除するような処理かけてて、その変更を破棄したら元に戻った
その後にgit checkout master
コマンド打ったら相変わらずメッセージが出るけど、選択肢の「n
→Enter
」を押したらprojects配下のファイルが消えなくなった
$ git checkout master
Deletion of directory 'projects' failed. Should I try again? (y/n) n
Updating files: 100% (912/912), done.
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
理由はわからんけど、その後も選択肢のメッセージが出る…
が、とりあえずブランチ間移動できるので解決ということで…
ファイルを復元する方法
pull
でリポジトリから落としてもいいんだけど「projects」だけもとに戻す方法があったので備忘録
git log
git checkout ハッシュ値 ファイル/ディレクトリ名
git log
でコミットのハッシュ値を確認
git checkout 16ccffa4… projects
って指定をすると該当ディレクトリのみリポジトリに合わせて戻すことができる