There is a third option nobody seems to talk about `git merge --squash` (a squashed commit bundles commits into one commit). Which produces like `rebase` a linear commit history, but preserves the single commits.
But if your commits are poorly planned and commented, I would recommend trying to improve them, rather than reveling in the fact. ;)