【Git】 コマンドを間違えたとき git reflog が便利だった
導入
コミットをしたものの止めたくなったとき、 git reset HEAD^
をすることがあるでしょう。
あの日の私もそんな思いで git reset HEAD^
を叩いていました。
ところが思ったより一回多く git reset HEAD^
を叩いてしまいました。
これでは本来含めたかったコミットを消してしまい、ブランチとも齟齬が発生してしまします。
どうにか元に戻せないかと調べると、ちょうどその方法が見つかりました。
今回の記事はそんなお話です。
要点
気取った導入を書きましたが、要点は次の通りです:
- git reflog で戻したい状態を示す SHA(ハッシュ) を確認する。
- git reset
でその状態に復帰する。
詳しく
やってしまった~ って思ったその時に git reflog
を実行します。
すると、次のようにコマンドに対応するログが表示されます(画像はぼかしています):
今回は最後のコマンドを打ち消したいので、上から2番目の ff8ab38
までリセットします。
git reset ff8ab38
これで消してしまったコミットが復活しました。 よかったよかった。