Buscar este blog

Aviso

El autor de éste blog no se hace responsable de los posibles daños o perdidas de información, que pudieran ocasionarse en su sistema o su vida por la aplicación de la información aquí contenida.

domingo, 4 de octubre de 2020

¿Qué hacer si hice commits con un usuario incorrecto?

El problema es sencillo de explicar, cuando trabajas con muchas cuentas de servicios de git es probable que en algunos de ellos tengas direcciones de correo asociadas diferentes, tal vez en una uses yahoo y en otro gmail, y esas respectivas cuentas deban ser usadas, en el pasado he hecho scripts que cambian rápidamente entre estos perfiles https://github.com/juusechec/git-profile pero, qué pasa si ya lo hiciste mal? Si tienes permisos de reescritura en la rama (hacer commits forzados) es bastante fácil la labor, checa esto!
# sobreescribe todo en todo lado, así que ten cuidado y revisa las ramas locales y los tags antes de subir nada
git filter-branch --env-filter '
WRONG_EMAIL="email@equivocado.com.co"
NEW_NAME="Nombre Correcto"
NEW_EMAIL="email@correcto.com"
if [ "$GIT_COMMITTER_EMAIL" = "$WRONG_EMAIL" ]
then
  export GIT_COMMITTER_NAME="$NEW_NAME"
  export GIT_COMMITTER_EMAIL="$NEW_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$WRONG_EMAIL" ]
then
  export GIT_AUTHOR_NAME="$NEW_NAME"
  export GIT_AUTHOR_EMAIL="$NEW_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags
# el "-f" es forzado, es un comando potencialmente destructivo, así que ten cuidado al usarlo, revisa con "$ git log" lo que vas a subir
git push origin HEAD -f
Espero que les sea de utilidad como a mí! Buena suerte.

No hay comentarios:

Publicar un comentario

Más populares

Archivo del blog