Если , у вас нет проблем с переписыванием истории, избавьтесь от слияния в истории и переиграйте историю после нее. Давайте назовем эту ревизию merge-rev
git checkout merge-rev~1 # right before the revision you want to get rid of
git cherry-pick merge-rev..master # linear history between merge and master (not including the merge you want to get rid). Adjust if the branch is not master
# if you like the results
git branch -f master
git push -f some-remote master # if you need to push somewhere to replace the old branch
Предполагается, что история является линейной после слияния, от которого вы хотите избавиться.