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: マージされたブランチの最新のコミットに対するハッシュ値の別名
