1) Hay que hacer un clone del proyecto desde cero
2) Hay que crear un fichero .sh o .bat con este script y ejecutarlo:
#!/bin/sh
git filter-branch --env-filter '
OLD_EMAIL="oldemail@domain.com"
CORRECT_NAME="Toni Nieto"
CORRECT_EMAIL="newemail@domain.com"
if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
then
export GIT_COMMITTER_NAME="$CORRECT_NAME"
export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
then
export GIT_AUTHOR_NAME="$CORRECT_NAME"
export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags
3) Ejecutar git log y buscar errores
4) Forzar la subida del repositorio:
git push --force --tags origin 'refs/heads/*'
5) Eliminar el clonado temporal que hemos hecho:
cd ..
rm -rf repo.git
Sacado de aquí: https://help.github.com/articles/changing-author-info/