😶🌫️
【Git】対話的なリベースをなかったことにしたいとき
interactive rebaseするコミットの数ミスっちゃった💦
皆さん、こんなことありませんか?
対話的なリベースをするぞと思ったら、二つ前まででよかったのに、三つ前までまとめちゃった!!
git rebase -i HEAD~3
今回はそんなときの解消法を自分のメモがてら書いていこうと思います。
interactive rebaseをなかったことにする手順
- interactive rebase前のコミットを出力します
git reflog
- リポジトリ内のすべての参照ログが見られるので、その中からinteractive rebase前のコミットを探し出します
- interactive rebase前のコミットのハッシュ値を控えておき以下を実行します
git reset --hard <コミットハッシュ>
最後に
この3ステップで対話的なリベースを実施する前に戻すことができました!
そもそも、間違えてinteractive rebaseしないようにきちんとgit logを確認しようよ、という声はさておき…
注意点として、現在の作業などが消えてしまう可能性があるので、別ブランチでバックアップしておくなどおすすめします。
株式会社ラグザイア(luxiar.com)の技術広報ブログです。 ラグザイアはRuby on RailsとC#に特化した町田の受託開発企業です。フルリモートでの開発を積極的に推進しており、全国からの参加を可能にしています。柔軟な働き方で最新のソフトウェアソリューションを提供します。
Discussion
削除するブランチを間違えたときにこの記事の内容が役立ちました。
git reflog 使っていきます😼
ありがとうございます‼‼