🤮

Git 変更内容を消してしまった時に行った事 -git reflog-

2022/06/13に公開

はじめに

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