2 min de lectura

Es común estar en una situación donde el nombre del autor de los commits en la historia de GIT no es exactamente el que se desea mantener por ello se busca renombrar el autor de los commits pasados en GIT.

En este tutorial se muestran dos métodos para renombrar el autor de los commits pasados, sin embargo, es importante mencionar que esto sobreescribe la historia de Git.

 

ADVERTENCIA: Estos cambios sobrescriben la historia del proyecto.

 

Renombrar el autor en un proyecto de Git con sólo un autor

Cuando se tiene solo un autor en la historia, se puede ejecutar un filtro.

 

Explicación del comando:

Lo que se esta haciendo es filtrar una rama con: git filter-branch --commit-filter Se cambia el author name y commiter name con: GIT_AUTHOR_NAME="[nuevo nombre]" GIT_COMMITTER_NAME="[nuevo nombre]" y para concluir se hace un nuevo commit forzado  git commit-tree "$@"' -f

Por último se deben empujar los cambios al remoto.

 

Renombrar el autor en un proyecto de Git con varios colaboradores

Si por el contrario en el proyecto se tiene varios colaboradores, el proceso es similar pero se debe agregar una condicional para renombrar solo el autor en cuestión.

 

Explicación del comando

Del mismo modo que en el ejemplo anterior se filtra una rama con: git filter-branch --commit-filter pero en este caso el filtro que se pasa esta basado en una condicional donde buscamos definir el nuevo nombre solo en caso que concuerde con el autor anterior

fuera de la condicional se hace el commit forzado igual que en el ejemplo anterior git commit-tree "$@"' -f

 

Por último se deben empujar los cambios al remoto.

 

 

Artículo tomado del blog de J Haigh

 

Líder técnico en equipos de desarrollo de software. Profesor de Desarrollo Web en la Universidad de Guadalajara. Emprendedora. Fundadora y CTO de CORB.mx. Ponente y tallerista. Colaboradora en proyectos de software libre y Open Source. Comprometida con la comunidad y la industria de la tecnología. Enfocada en el empoderamiento de las mujeres.

Deja tus comentarios

This site uses Akismet to reduce spam. Learn how your comment data is processed.