Volver a escribir el mensaje de confirmación más reciente
Puedes cambiar el mensaje de confirmación más reciente usando el comando git commit --amend
.
En Git, el texto del mensaje de confirmación es parte de la confirmación. Cambiar el mensaje de la confirmación cambiará la commit ID-- es decir, el checksum de SHA1 que designa la confirmación. Efectivamente, estás creando una nueva confirmación que reemplaza a la anterior.
La confirmación no se ha subido en línea
Si la confirmación solo existe en tu repositorio local y no se ha subido a tu instancia de GitHub Enterprise Server, 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.
- Escribe
git commit --amend
y presiona Enter (Intro). - En tu editor de texto, edita el mensaje de confirmación y guarda la confirmación.
- Puedes agregar un coautor al agregar una introducción a la confirmación. Para obtener más información, consulta "Crear una confirmación con múltiples autores".
El nuevo mensaje y la confirmación aparecerán en tu instancia de GitHub Enterprise Server la próxima vez que subas un cambio.
Puedes cambiar el editor de texto predeterminado para Git si cambias el parámetro core.editor
. Para obtener más información, consulta la sección "Configuración Básica del Cliente" en el manual de Git.
Medificar mensajes de confirmación antiguos o múltiples
Si ya subiste la confirmación a tu instancia de GitHub Enterprise Server, tendrás que subir forzadamente una confirmación con un mensaje modificado.
Desalentamos enfáticamente que se realicen subidas forzadas, dado que esto cambia el historial de tu repositorio. Si haces subidas forzadas, las personas que ya hayan clonado tu repositorio tendrán que arreglar su historial local manualmente. Para obtener más información, consulta la sección "Recuperarse de un rebase ascendente" en el manual de Git.
Cambiar el mensaje de la confirmaciòn subida màs recientemente
- Sigue los pasos anteriores para modificar el mensaje de confirmación.
- Utilizar el comando
push --force-with-lease
para hacer una subida forzada sobre la confirmación antigua.$ git push --force-with-lease example-branch
Cambiar el mensaje de los mensajes de confirmaciòn mùtilples o del màs antiguo
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.
-
Usa el comando
git rebase -i HEAD~n
para mostrar una lista de las últimas confirmacionesn
en tu editor de texto predeterminado.# Displays a list of the last 3 commits on the current branch $ git rebase -i HEAD~3
La 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 sobre 9fdb3bd # # Comandos: # p, escoger = usar confirmación # r, volver a redactar = usar confirmación, pero editar el mensaje de confirmación # e, editar = usar confirmación, pero detener la modificación # s, machacar = usar confirmación, pero fusionarla con la confirmación anterior # f, arreglar = como "machacar", pero descartar el mensaje de registro de confirmación # x, exec = ejecutar comando (el resto de la línea) usando shell # # Estas líneas pueden reordenarse, pero se ejecutan desde arriba hacia abajo. # # Si eliminas una línea aquí ESA CONFIRMACIÓN SE PERDERÁ. # Sin embargo, si eliminas todo, la rebase será interrumpida. # # Note that empty commits are commented out
-
Reemplaza
pick
(escoger) porreword
(volver a redactar) antes de cada mensaje de confirmación que desees 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 subir tus cambios a GitHub, utiliza el comando push --force para subir el cambio forzadamente sobre la confirmaciòn antigua.
$ git push --force example-branch
Para obtener más información sobre el rebase interactivo, consulta la sección "Modo interactivo" en el manual de Git.
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á una ID nueva, ya que cada confirmación contiene también la id de su padre.
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 Enterprise Server. La confirmación anterior no será parte del clon siguiente; sin embargo, es posible que siga almacenada en el caché de GitHub Enterprise Server y que se pueda acceder a ella a través de la ID de la confirmación. Debes contactar a el administrador de tu sitio con la ID de confirmación anterior para que la purguen del repositorio remoto.