Por Anónimo (no verificado) , 29 Abril 2026

Qué hace amend

git commit --amend reemplaza el commit más reciente con uno nuevo que incluye lo que tengas staged actualmente, más un mensaje opcional. No "edita" el commit; crea uno nuevo con el mismo padre.

Tres escenarios comunes de amend

# 1. Arreglar un typo en el último mensaje
git commit --amend -m "Fix avatar upload race condition"

# 2. Añadir archivos olvidados al último commit
git add forgotten-file.js
git commit --amend --no-edit

# 3. Reemplazar los cambios staged por completo
git add -A
git commit --amend

La regla de seguridad: nunca enmiendes commits ya pushed

# SEGURO: solo tú tienes este commit
git commit --amend

# PELIGROSO: el commit está en origin
git commit --amend
git push --force        # no hagas esto en branches compartidos

Force-with-lease para branches en solitario

git commit --amend
git push --force-with-lease

Recuperar de un mal amend

git reflog
git reset --hard HEAD@{1}

Amend vs fixup

git commit --fixup <sha-to-fix>
git rebase -i --autosquash <sha-to-fix>^

Fechas de autor

git commit --amend --reset-author --no-edit