🤮
Git 変更内容を消してしまった時に行った事 -git reflog-
はじめに
github Desktopを色々弄っていたら、
コミットしたい大量の変更ファイルを消してしました。
時間にしたら40時間以上の作業。
かなり焦ったのですが、無事元通りに戻すことができましたので、その解決法を記載します。
事の発端
リモートリポジトリにコミットしようとしていたファイルを、一時的にローカルリポジトリにコミットしていました。
コミット内容を修正したいと思い、一度undo commitを行う予定でした。
その時、手が滑って、その下Revert Changes in Commitを押してしまいました。
ここまでは良かったのですが、
そのrevertしたコミットをundo commitして、さらに、本来undo commitしたかったコミットをundo commitしたら、変更内容がChangesからも消え、Historyからも消えました。
git log は、コミットされている内容しか表示されない
git log
ログが残っているだろうと思い、git logで確認したのですが、記載なし。
ドコニイッタ、パニック、状態でした。
結論:git reflog は、gitコマンドの履歴を見ることができる
git reflog
上記を行うと、現在のコミットではなく、コミットした履歴全てのログを見ることができました。
良かった、、
過去に戻る
git reset --hard HEAD@{1}
上記記述によって、変更の先頭を過去に変え、何とか元に戻すことができました。
HEAD is now at 8bb969e タイトル変更
※gitのHEADを変えることができる
さいごに
変更内容は都度コミットしたほうが良いですが、
そのようにしなくても、救済措置はあるようで助かりました。
Discussion