git merge --no-ff <branchname>
とするところを間違えて git merge <branchname>
と –no-ff オプションをつけ忘れて実行してしまいました><。
今回は、git の過去を改変して –no-ff オプションをつけたマージをやりなおす方法をノートいたします。ローカル環境です。
解決のポイント
git reflog
でマージ前に戻る。git reset --hard HEAD
やgit reset --hard ORIG_HEAD
では解決できなかった。git reset --hard MERGE_HEAD
だったら上手く解決できたのかもしれない(未検証)。
補足
- HEAD: 最新のコミットに対するハッシュ値の別名
- ORIG_HEAD: 最新の一つ手前のコミットに対するハッシュ値の別名
- MERGE_HEAD: マージされたブランチの最新のコミットに対するハッシュ値の別名