[Git]コミットしたはいいものの、そのコミットを取り消そうと思ってgit resetしたら戻りすぎてしまった時
焦った。散々手間かけたファイルが全部消えたんだもの。
ただ、焦る必要はないらしい。戻りすぎたからといって、通り過ぎたコミットの内容が直ちに消去されるわけではないらしい。
まずは以下のコマンドを実行する。
1 | $ git reflog |
そうすると以下のようなものが出力される。
29663ba HEAD@{0}: reset: moving to 29663ba(~中略~)416ba9
bfe4bdf HEAD@{1}: commit: made thesis structure
29663ba HEAD@{2}: commit (initial): create folder
そう、made thesis structureに戻りたかったのに、create folderに戻ってしまったので全部消えてしまったのだ。
そしたら慌てず、
1 | $ git reset --hard HEAD@{1} |
とすれば、made thesis structureのコミット時点に戻る事ができる。
あぶねぇ〜〜。
卒論は卒論フォルダで書いてて、その親フォルダもgit管理してて、その親フォルダでコミットを間違えたとかで前のコミットに戻ったら、一緒に卒論フォルダの中身まで消えてしまったようだ。
危ない危ない。こういう事があるのか。
.gitignoreとかすればとりあえずこの症状は回避できるかもしれないけど、サブモジュールの使い方とかも押さえておくべきかなこれは。
この記事へのコメントはこちら