A abordagem de rebase interativa é bastante agradável quando usada em conjunto com o exec. Você pode executar qualquer comando do shell em uma confirmação específica ou em todas as confirmações na rebase.
Primeiro, defina as configurações do autor do git
git config --global user.name "John Doe"
git config --global user.email johndoe@example.com
Em seguida, redefinir o autor para todas as confirmações após o SHA especificado
git rebase -i YOUR_SHA -x "git commit --amend --reset-author -CHEAD"
Isso abrirá seu editor para confirmar as alterações. Tudo o que você precisa fazer aqui é salvar e sair e ele passará por cada confirmação e executará o comando especificado no sinalizador -x.
Pelo comentário de @ Dave abaixo, você também pode alterar o autor, mantendo os registros de data e hora originais com:
git rebase -i YOUR_SHA -x "git commit --amend --author 'New Name <new_address@example.com>' -CHEAD"
remote: error: GH007: Your push would publish a private email address.
... `! [remoto rejeitado] master -> master (push recusado devido a restrições de privacidade de email) `.