web関連

【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を開いていると以下のメッセージにynもどっちも通らなかった

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コマンド打ったら相変わらずメッセージが出るけど、選択肢の「nEnter」を押したら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って指定をすると該当ディレクトリのみリポジトリに合わせて戻すことができる

Leave a Comment

入力エリアすべてが必須項目です。メールアドレスが公開されることはありません。

内容をご確認の上、送信してください。