Volver a escribir el mensaje de confirmación más reciente
Puede cambiar el mensaje de confirmación más reciente mediante el comando git commit --amend.
En Git, el texto del mensaje de confirmación es parte de la confirmación. Cambiar el mensaje de confirmación cambiará el identificador de confirmación; es decir, el checksum de SHA1 que designa la confirmación. Efectivamente, estás creando un nuevo commit que reemplaza al anterior.
La confirmación no se ha enviado en línea
Si la confirmación solo existe en el repositorio local y no se ha insertado en GitHub.com, puedes modificar el mensaje de confirmación con el comando git commit --amend.
- En la línea de comando, desplázate hasta el repositorio que contiene la confirmación que deseas modificar.
- Escriba
git commit --amendy presione Entrar. - En tu editor de texto, edita el mensaje de confirmación y guarda la confirmación.
-
Puedes agregar un coautor anexando un tráiler al commit. Para más información, consulta Crear un commit con varios autores.
-
Puedes crear confirmaciones en nombre de tu organización agregando un anexo a la confirmación. Para más información, consulta Crear una confirmación en nombre de una organización.
-
El nuevo commit y mensaje aparecerán en GitHub.com la próxima vez que hagas un push.
Sugerencia
Puede cambiar el editor de texto predeterminado para Git si modifica el valor core.editor. Para más información, consulta Configuración básica del cliente en el manual de Git.
Modificar mensajes de commit antiguos o múltiples
Si ya insertaste la confirmación en GitHub.com, tendrás que insertar a la fuerza una confirmación con un mensaje modificado.
Advertencia
Desalentamos enfáticamente realizar empujes forzados, dado que esto cambia el historial de tu repositorio. Si haces empujes forzados, las personas que ya hayan clonado tu repositorio tendrán que corregir manualmente su historial local. Para más información, consulta Recuperación de la fusión mediante cambio de base ascendente en el manual de Git.
**Cambiar el mensaje del commit empujado más recientemente**
-
Siga los pasos anteriores para modificar el mensaje de confirmación.
-
Use el comando
push --force-with-leasepara forzar el empuje sobre el compromiso anterior.git push --force-with-lease origin EXAMPLE-BRANCH**Cambio del mensaje de mensajes anteriores o varios mensajes de confirmación**
Si necesitas modificar el mensaje de varias confirmaciones o de una confirmación antigua, puedes utilizar un rebase interactivo y luego hacer una subida forzada para cambiar el historial de la confirmación.
-
En la línea de comando, desplázate hasta el repositorio que contiene la confirmación que deseas modificar.
-
Use el comando
git rebase -i HEAD~npara mostrar una lista de las últimas confirmacionesnen el editor de texto predeterminado.# Displays a list of the last 3 commits on the current branch $ git rebase -i HEAD~3La lista se verá parecida a la siguiente:
pick e499d89 Delete CNAME pick 0c39034 Better README pick f7fde4a Change the commit message but push the same commit. # Rebase 9fdb3bd..f7fde4a onto 9fdb3bd # # Commands: # p, pick = use commit # r, reword = use commit, but edit the commit message # e, edit = use commit, but stop for amending # s, squash = use commit, but meld into previous commit # f, fixup = like "squash", but discard this commit's log message # x, exec = run command (the rest of the line) using shell # # These lines can be re-ordered; they are executed from top to bottom. # # If you remove a line here THAT COMMIT WILL BE LOST. # # However, if you remove everything, the rebase will be aborted. # # Note that empty commits are commented out -
Reemplace
pickporrewordantes de cada mensaje de confirmación que quiera cambiar.pick e499d89 Delete CNAME reword 0c39034 Better README reword f7fde4a Change the commit message but push the same commit. -
Guardar y cerrar el archivo con la lista de confirmaciones.
-
En cada archivo de confirmación resultante, escribe el nuevo mensaje de confirmación, guarda el archivo, y ciérralo.
-
Cuando estés listo para empujar tus cambios a GitHub, utiliza el comando push --force para forzar el empuje sobre el commit antiguo.
git push --force origin EXAMPLE-BRANCH
Para más información sobre el rebase interactivo, consulta Modo interactivo en el manual de Git.
Nota:
Como se mencionó anteriormente, el modificar el mensaje de confirmación dará como resultado una confirmación nueva con una ID nueva. Sin embargo, en este caso, cada confirmación que siga a la confirmación modificada también obtendrá un identificador nuevo, ya que cada confirmación contiene también el identificador de su elemento primario.
Advertencia
Si incluiste información sensible en un mensaje de confirmación, el subir dicha confirmación forzadamente con una confirmación modificada no eliminará la confirmación original de GitHub. La confirmación anterior no será parte del clon siguiente; pero es posible que siga almacenada en el caché de GitHub y que se pueda acceder a ella mediante la ID de la confirmación. Debes contactar a con nosotros a través del Soporte técnico de GitHub con la ID de confirmación anterior para que la purguen del repositorio remoto.
Información adicional
-
[AUTOTITLE](/authentication/managing-commit-signature-verification/signing-commits)