Menu
Coddy logo textTech

Git Commit --amend

Última actualización

git commit --amend reemplaza el commit más reciente por uno nuevo, permitiéndote corregir su mensaje o añadir archivos que olvidaste preparar. No añade un segundo commit; reescribe el último. Como eso cambia el hash del commit, solo enmienda commits que aún no hayas subido.

Prueba estos comandos en el terminal playground: una shell real en tu navegador, sin nada que instalar.

git commit --amend sustituye el último commit por uno reescrito en lugar de añadir un segundo commit.

Sintaxis

CommandWhat it does
git commit --amendEdita el último commit y su mensaje
git commit --amend -m "new message"Cambia el mensaje del último commit en línea
git commit --amend --no-editAñade los archivos preparados y conserva el mismo mensaje

Casos comunes

GoalCommand
Corregir un error tipográfico en el último mensajegit commit --amend -m "fixed message"
Añadir un archivo olvidado al último commitgit add file y luego git commit --amend --no-edit
Enmendar un commit ya subido (con cuidado)enmienda y luego git push --force-with-lease

Preguntas frecuentes sobre git commit --amend

¿Cómo cambio el mensaje de mi último commit?
Ejecuta git commit --amend -m "new message" para reemplazarlo en línea, o git commit --amend para abrir tu editor y reescribirlo allí. Esto reescribe el último commit con el nuevo mensaje; no lo hagas en un commit que ya hayas subido salvo que estés preparado para forzar el push.
¿Cómo añado un archivo olvidado al último commit?
Prepara el archivo con git add <file> y luego ejecuta git commit --amend --no-edit. La opción --no-edit mantiene el mensaje de commit existente y solo incorpora los cambios recién preparados al commit anterior.
¿git commit --amend crea un nuevo commit?
No: reemplaza el último commit en lugar de añadir uno. El resultado parece un único commit, pero técnicamente es un commit nuevo con un hash nuevo que ocupa el lugar del anterior. Por eso enmendar el historial compartido requiere un force push.
¿Es seguro enmendar un commit ya subido?
Solo con cuidado. Enmendar reescribe el commit, así que tras subirlo necesitarías git push --force-with-lease, lo cual puede afectar a cualquiera que ya haya descargado el original. En una rama compartida, es preferible un nuevo commit o git revert en lugar de enmendar.
¿Puedo practicar esto en línea?
Sí. Abre el terminal playground para ejecutar git commit --amend en una shell real en tu navegador, sin nada que instalar. El curso interactivo y gratuito de Git de Coddy también cubre cómo corregir commits paso a paso.
Coddy programming languages illustration

Aprende Git con Coddy

COMENZAR