しまった!git rebaseをミスった!というときの解決法
今日はrebaseをミスってしまったのでやり直す方法をメモ。
すぐにためそう
git reset --hard ORIG_HEAD
コミットやマージをしてなければこれで大丈夫のはず。もうしてしまった?でもまだ諦めないで。
まだ大丈夫。
まず次のコマンドを打ちます。
git reflog
すると
f9016bf HEAD@{0}: rebase -i (finish): returning to refs/heads/feature/test-branch f9016bf HEAD@{1}: rebase -i (squash): 編集終わり 6b13eb4 HEAD@{2}: checkout: moving from feature/test-branch to 6b13eb476ffe225a8335440faa12c848312b9ac02914099
みたいな感じのログが表示されます。上に行くほど新しいもので、HEAD@{n}ってところのnの数が大きいほど過去のものです。rebaseした前にの所に戻すのであればこうです。
git reset --hard HEAD@{2}
これでもとに戻っているはずです。