Reconstruir commits en Git con amend

Clase 40 de 43Curso Profesional de Git y GitHub

Resumen

Git amend es una forma que tienes para hacer cambios a tu commit más recientes sin tener que hacer un nuevo commit.

Recomendaciones en el uso de git amend

El comando de git amend se usa para modificar el último commit. Es decir, te permite “revisar” o “corregir” el último cambio confirmado que hayas hecho en tu proyecto.

Por ejemplo, imagínate que acabas de hacer un commit, pero te diste cuenta de que no querías enviarlo porque faltaba algo más. En lugar de hacer un nuevo commit, puedes usar git commit --amend para agregar esos cambios al commit más reciente. Esto es útil porque mantiene tu historial de commits limpio y organizado.

Usar amend es considerado una mala práctica, especialmente después de haber hecho push o pull al repositorio remoto. Al hacer amend con algún commit que ya esté en remoto, se generará un conflicto que deberá resolverse con un commit adicional. En este proceso, se perderá el beneficio del amend.

No utilizar --amend para reconstruir commits que ya se encuentran en el repositorio remoto. Esto sería una mala práctica.

¿Cómo hacer un git amend?

Utilizar amend para remendar un commit puede modificar el commit más reciente (enmendar) en la misma rama. Se ejecuta de la siguiente manera:

gitadd -A # Para hacer uso de amend los archivos deben de estar en staging
git commit --amend # Remendar último commit

Para qué sirve git commit amend

Este comando sirve para agregar archivos nuevos o actualizar el commit anterior y no generar commits innecesarios. También es una forma sencilla de editar o agregar comentarios al commit anterior porque abrirá la consola para editar este commit anterior.

Reconstrucción de commits

Si el último commit que hicimos tenía un error, por ejemplo, de ortografía o quizá se nos olvidó agregar algo al código de ese commit podemos darle solución con el siguiente comando.

→ Modificar el mensaje del commit más reciente.

$ git commit --amend

→ Modificar el commit más reciente y su mensaje en la misma línea.

$ git commit --amend -m

Recordar que -m permite escribir un mensaje desde la línea de comandos sin tener que abrir un editor.

→ Modificar el commit sin modificar el mensaje de dicho commit.

$ git commit --amend --no-edit

El indicador --no-edit permite hacer correcciones en el código sin modificar el mensaje original.

Este comando es una manera práctica de modificar la información más reciente de nuestro repositorio.

Contribución creada con aportes de: David Behar y Alex Camacho.