Luciano Joan Vergara Avatar

Luciano Joan Vergara

Software Developer. Cofundador & CTO de diblet.com

Cómo corregir el texto de un commit ya realizado en git

Una situación que se puede presentar cuando estemos trabajando con repositorios GIT es que comentamos un error al escribir el mensaje del commit que acabamos de realizar. Seamos honestos a todos nos puede pasar, nos ha pasado y nos pasará.

Para este tipo de casos, por suerte, contamos con el comando git amend que no solo nos permite corregir el texto del último commit realizado, sino también, agregar archivos que hayamos olvidado a este último commit.

Modificar el texto del último commit

Para lograr este objetivo debemos ejecutar el siguiente comando de consola:

git commit --amend -m "nuevo texto del commit"

Y listo. Ya hemos solucionado cualquier error de tipeo en el mensaje del commit.

Agregar modificaciones al último commit

También podemos lograr otras cosas interesantes utilizando este comando. Por ejemplo, si lo que queremos es agregar los cambios de algún archivo que olvidamos al momento de hacer commit, lo podemos hacer de la siguiente forma:

Primero debes agregar los archivos faltantes utilizando el comando git add. Por ejemplo para agregar un archivo:

git add nombre_archivo.ext

Siendo nombre_archivo.ext el nombre del archivo que deseas añadir. También puedes agregar todos los archivos modificados en el directorio con el comando

git add -A

Como segundo paso sumamos estos archivos al último commit ejecutando git amend de la siguiente forma:

git commit --amend --no-edit

Precauciones al utilizar git amend

Lo ideal es que utilices git amend antes de hacer push a un branch remoto. El problema con git amend es que el commit resultante de utilizar este comando no es una modificación del commit original sino un nuevo commit con un hash distinto. Por decirlo de alguna forma se elimina el commit anterior y se crea uno nuevo con las modificaciones realizadas.

Te puede interesar:  Cómo utilizar GIT desde la consola: Guía básica

El inconveniente de esto es que si algún otro desarrollador que se encuentre trabajando en el proyecto hizo pull de un commit que luego se modificó con el comando amend, al momento de volver a hacer pull para bajar los cambios puede que GIT obligue a al desarrollador a realizar un merge manual para solucionar el conflicto existente de la «desaparición» de un commit que el programador ya tenía en su rama.

Hay múltiples otras variantes interesantes de este commit y puedes conocerlas aquí.

COMENTARIOS