git cambia todo el historial para los nombres de los confirmadores y el correo electrónico para el confirmador específico
Cómo no puedo cambiar el nombre y el correo electrónico para todo mi historial de confirmaciones, sino para un responsable específico.
algo así, foreach allcommits if committer_name = "Hugo Casa" change: committer_name committer_email author_name author_email
y después de hacer esto, presione y actualice los datos del historial.
Por favor, ayuda, busqué y encontré esto:
git filter-branch --commit-filter '
if [ "$GIT_COMMITTER_NAME" = "production251" ];
then
GIT_COMMITTER_NAME="Hugo Casanova";
GIT_AUTHOR_NAME="Hugo Casanova";
GIT_COMMITTER_EMAIL="hugo.casanova.ibusplus.com";
GIT_AUTHOR_EMAIL="hugo.casanova.ibusplus.com";
git commit-tree "$@";
else
git commit-tree "$@";
fi' HEAD
git filter-branch --env-filter '
oldname="(old name)"
oldemail="(old email)"
newname="(new name)"
newemail="(new email)"
[ "$GIT_AUTHOR_EMAIL" = "$oldemail" ] && GIT_AUTHOR_EMAIL="$newemail"
[ "$GIT_COMMITTER_EMAIL" = "$oldemail" ] && GIT_COMMITTER_EMAIL="$newemail"
[ "$GIT_AUTHOR_NAME" = "$oldname" ] && GIT_AUTHOR_NAME="$newname"
[ "$GIT_COMMITTER_NAME" = "$oldname" ] && GIT_COMMITTER_NAME="$newname"
' HEAD
pero ... después de eso: escriba: git log --pretty = format: "% an" | sort -u y el nombre de la producción251 muestran ..
Encontré un nuevo código:
git filter-branch --force --env-filter 'if ["$ GIT_COMMITTER_NAME" = dmiguel "]; luego GIT_COMMITTER_NAME =" Diana Miguel "; GIT_COMMITTER_EMAIL =" paola.miguel@ibusplus.com "; GIT_AUTHOR_NAME =" Diana Miguel " ; GIT_AUTHOR_EMAIL = "paola.miguel@ibusplus.com"; fi '- --todos
esto esta bien? ¿o no? después de poner este código en la terminal (ubuntu), ¿necesita algún código adicional ?, ¿empujar o algo?