Dimulai dengan repo dalam keadaan semula
Untuk menghapus komit gabungan dan memadatkan cabang menjadi satu komit di jalur utama
Gunakan perintah ini (mengganti 5 dan 1 dengan SHA dari komit yang sesuai):
git checkout 5
git reset --soft 1
git commit --amend -m '1 2 3 4 5'
git rebase HEAD master
Untuk mempertahankan komit gabungan tapi squash cabang komit menjadi satu:
Gunakan perintah ini (mengganti 5, 1 dan C dengan SHA dari komit yang sesuai):
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
Untuk menghapus komit gabungan dan menggantinya dengan komit individu dari cabang
Lakukan saja (mengganti 5 dengan SHA dari komit yang sesuai):
git rebase 5 master
Dan akhirnya, untuk menghapus seluruh cabang
Gunakan perintah ini (mengganti C dan D dengan SHA dari komit yang sesuai):
git rebase --onto C D~ master