I had to do history manipulation for a contribution I made to nixOS, it was terrifying and took multiple attempts - all they wanted me to do was to squash two commits into one
it would have been easier to trash my pull request, re-implement it in one commit and send a new pull request