Se por algum motivo você precisar substituir o email do autor em mensagens de commit em um repositório Git basta utilizar o git-filter-repo. Essa ferramenta é um substituto para o comando filter-branch do Git e fornece diversas maneiras de reescrever o histórico de um repositório.
Aqui vou mostrar apenas um caso simples e comum de substituir o nome e email
do autor nas mensagens de commit. Quem nunca esqueceu de configurar user.name
ou user.email
locais em um repositório e usou informações pessoais em
projetos profissionais ou vice-versa?
Para instalar o git-filter-repo
no Ubuntu:
sudo apt install -y git-filter-repo
Crie um arquivo de mapa no formato gitmailcap:
Novo Nome <novo@email.com> Antigo Nome <antigo@email.com>
Execute o comando:
git filter-repo --mailmap <arquivo mapa>
Se existir um arquivo de mapa com o nome .mailmap
na raiz do repositório,
as substituições declaradas são aplicadas automaticamente a cada commit.
Na manpage do git-filter-repo você pode checar todas as opções e vários exemplos de alterações possíveis utilizando a ferramenta.