😶‍🌫️

【Git】対話的なリベースをなかったことにしたいとき

2024/07/17に公開2

interactive rebaseするコミットの数ミスっちゃった💦

皆さん、こんなことありませんか?
対話的なリベースをするぞと思ったら、二つ前まででよかったのに、三つ前までまとめちゃった!!

git rebase -i HEAD~3

今回はそんなときの解消法を自分のメモがてら書いていこうと思います。

interactive rebaseをなかったことにする手順

  1. interactive rebase前のコミットを出力します
git reflog
  1. リポジトリ内のすべての参照ログが見られるので、その中からinteractive rebase前のコミットを探し出します
  2. interactive rebase前のコミットのハッシュ値を控えておき以下を実行します
git reset --hard <コミットハッシュ>

最後に

この3ステップで対話的なリベースを実施する前に戻すことができました!
そもそも、間違えてinteractive rebaseしないようにきちんとgit logを確認しようよ、という声はさておき…

注意点として、現在の作業などが消えてしまう可能性があるので、別ブランチでバックアップしておくなどおすすめします。

ラグザイア

Discussion

MK963MK963

削除するブランチを間違えたときにこの記事の内容が役立ちました。
git reflog 使っていきます😼