Introducción a Git
Teoría: Cambiar el último commit
A veces, después de un commit, nos damos cuenta de que olvidamos algo o necesitamos corregir el mensaje. En lugar de hacer un nuevo commit, podemos hacerlo de una manera más limpia.
En esta lección, aprenderemos a modificar el último commit usando git commit --amend. ✏️
Olvidamos agregar un archivo
Imagina que estás trabajando en tu proyecto y decides hacer un commit con los cambios en dos archivos: INFO.md y README.md. Sin darte cuenta, solo agregaste uno de los archivos a Git antes de hacer el commit.
Después de hacer el commit, usas git status y te das cuenta de que README.md sigue sin estar incluido en el commit:
⏬ Salida:
On branch main
Your branch is ahead of 'origin/main' by 1 commit.
(use "git push" to publish your local commits)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
modified: README.md
Oops, olvidamos incluir README.md en el commit.
La solución: git commit --amend
En lugar de hacer un segundo commit con solo ese archivo, podemos modificar el commit que acabamos de hacer con git commit --amend.
Esto indica a Git que queremos incluir README.md en el próximo commit.
Ahora modificamos el commit reciente:
Después de ejecutar este comando, se abrirá el editor de texto predeterminado de Git para modificar el mensaje del commit. Puedes dejarlo igual o hacer cambios.
Si prefieres no modificar el mensaje, usa la opción --no-edit para evitar que Git abra el editor:
Si ejecutamos git status nuevamente, veremos que ya no hay cambios pendientes:
⏬ Salida:
On branch main
Your branch is ahead of 'origin/main' by 1 commit.
(use "git push" to publish your local commits)
nothing to commit, working tree clean
¿Cómo funciona --amend?
Cuando usamos git commit --amend, Git no "modifica" el commit original, sino que:
1️⃣ Crea un nuevo commit que combina los cambios del commit anterior con los nuevos cambios.
2️⃣ Reemplaza el commit anterior con este nuevo commit.
Visualmente, parece que el commit original fue corregido, pero en realidad, el commit anterior deja de existir y se reemplaza por uno nuevo.
Si ya subiste el commit a un repositorio remoto con git push, modificar el commit con --amend puede causar problemas a otros colaboradores, ya que cambia el historial de Git. En ese caso, lo mejor es hacer un nuevo commit con los cambios pendientes.
Resumen
git commit --amendpermite modificar el último commit en lugar de hacer un nuevo commit.- Es útil cuando olvidamos agregar archivos o queremos corregir el mensaje del commit.
- Funciona creando un nuevo commit que reemplaza el anterior.
- Si no queremos cambiar el mensaje del commit, podemos usar
git commit --amend --no-edit. - No se recomienda usarlo si el commit ya fue subido a un repositorio remoto.
Este comando es una herramienta poderosa para mantener un historial de commits limpio y ordenado. ¡Úsalo con cuidado!
Completado
0 / 15
