Если вы делали мёрджи из mainline в свою ветку и все они проходили без конфликтов, то вашу задачу решит
git rebase --interactive --preserve-merges ...
(только не переупорядочивайте коммиты - см.
BUGS).
Если же были конфликты, да и вообще правильнее, делать git filter-branch, например:
git filter-branch --env-filter 'export GIT_AUTHOR_NAME="New Author Name"' --msg-filter 'if [ "$GIT_COMMIT" = "339167af5c274dedd5efcf93f83f4bfc4acb9eba" ]; then echo "new commit message"; else cat; fi' -- mainline_branch_name..your_branch_name