Починаючи з репо у вихідному стані
Щоб видалити коміт злиття та змити гілку в єдиний коміт на основній лінії
Використовуйте такі команди (замінюючи 5 та 1 на SHA відповідних комітів):
git checkout 5
git reset --soft 1
git commit --amend -m '1 2 3 4 5'
git rebase HEAD master
Щоб зберегти коміт злиття, але сквош, гілка фіксує в одне:
Скористайтеся цими командами (замінивши 5, 1 і C на SHA відповідних комітів):
git checkout -b tempbranch 5
git reset --soft 1
git commit --amend -m '1 2 3 4 5'
git checkout C
git merge --no-ff tempbranch
git rebase HEAD master
Щоб видалити коміт злиття та замінити його окремими комітами з гілки
Просто виконайте (замінивши 5 на SHA відповідного коміту):
git rebase 5 master
І, нарешті, повністю видалити гілку
Використовуйте цю команду (замінивши C та D на SHA відповідних комітів):
git rebase --onto C D~ master