git commit --amend
Definición y uso
Al trabajar con Git, a menudo puedes olvidar formatear el commit o preparar un archivo. El comando git commit --amend es la forma más sencilla de corregir este tipo de errores. Se utiliza para editar los últimos commits. En lugar de crear un commit completamente nuevo, puedes ejecutar este comando para combinar los cambios preparados con el commit anterior. Además, este comando puede modificar el mensaje del commit anterior sin cambiar su instantánea. Ten en cuenta que git commit --amend reemplaza el commit actual por completo. A continuación, veremos algunas formas de usar git commit --amend.

Cambiar el mensaje del último commit de Git
Si has realizado un commit y cometiste un error en el mensaje del registro del commit, puedes ejecutar git commit --amend para modificar el mensaje del commit anterior sin cambiar su instantánea. Puedes pasar un nuevo mensaje desde la línea de comandos sin que se te solicite abrir un editor, utilizando la opción -m.
git commit --amend
git commit --amend -m "an updated commit message"Modificar archivos ya comprometidos
Imaginemos que has modificado algunos archivos que deseas comprometer en una sola instantánea, pero olvidaste agregar uno de ellos la primera vez. Puedes resolver este problema si preparas el otro archivo y realizas el commit utilizando la bandera --amend. Añade la bandera --no-edit para modificar tu commit sin cambiar el mensaje del commit. Como resultado, el commit incorrecto será reemplazado por el correcto, y el flujo de trabajo se verá así:
git commit --amend --no-edit
# Modify project.py and text.py
git add project.py
git commit
# You forgot to add the changes from text.py
git add text.py
git commit --amend --no-editEvitar modificar commits públicos
De hecho, los commits modificados son nuevos y, después de modificar un commit, el commit anterior no se eliminará de la rama actual. Por eso, nunca debes modificar un commit que esté siendo desarrollado por otros miembros del equipo, ya que esto causará muchos problemas de colaboración. Por lo tanto, notarás que las consecuencias son las mismas que en el caso de restablecer una instantánea pública.
Práctica
¿Cuáles son las afirmaciones correctas sobre el comando `git commit --amend` según el Tutorial de Git de W3Docs?