Versión del artículo: Enterprise Server 2.17
Cambiar un mensaje de confirmación
Si un mensaje de confirmación contiene información poco clara, incorrecta o confidencial, puedes modificarlo localmente y subir una nueva confirmación con un nuevo mensaje para GitHub Enterprise. También puedes cambiar un mensaje de confirmación para agregar la información faltante.
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. Si cambias el mensaje de confirmación cambiará commit ID--i.e., la suma de comprobación SHA1 que designa la confirmación. Efectivamente, estás creando una nueva confirmación que reemplaza a la anterior.
La confirmación no ha sido subida en línea
Si la confirmación solo existe en tu repositorio local y no ha sido subida a tu instancia de servidor de GitHub Enterprise 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 servidor de GitHub Enterprise la próxima vez que subas un cambio.
Puedes cambiar el editor de texto predeterminado para Git al cambiar el parámetro core.editor
. Para más información, consulta "Basic Client Configuration" en el manual de Git.
Modificar mensajes de confirmación múltiples o más antiguos
Si ya has subido la confirmación a tu instancia de servidor de GitHub Enterprise, deberás realizar un empuje forzado de la confirmación con un mensaje modificado.
Desalentamos enfáticamente el empuje forzado, dado que cambia el historial de tu repositorio. Si realizas un empuje forzado, las personas que tienen clonado tu repositorio deberán arreglar manualmente el historial local. Para obtener más información, consulta "Recuperarse de una rebase ascendente" en el manual de Git.
Modificar el mensaje de la confirmación subida más recientemente
- Sigue los pasos anteriores para modificar el mensaje de confirmación.
- Usa el comando
push --force
para realizar un empuje forzado sobre la confirmación anterior.$ git push --force example-branch
Modificar el mensaje de confirmación múltiple o más antiguo
Si necesitas modificar el mensaje para múltiples confirmaciones o una confirmación más antigua, puedes usar la rebase interactiva y luego forzar el empuje para cambiar el historial de 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.$ git rebase -i HEAD~3 # Displays a list of the last 3 commits on the current branch
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.
-
Realizar un empuje forzado de las confirmaciones modificadas.
$ git push --force
Para más información sobre la rebase interactiva, consulta Interactive mode" (Modo interactivo) en el manual de Git.
Tal como mencionamos anteriormente, si modificas el mensaje de confirmación se producirá una confirmación nueva con una ID nueva. Sin embargo, en este caso, cada confirmación posterior a la confirmación modificada también arrojará una ID nueva porque cada confirmación también contiene la ID de su padre.
Si incluiste información confidencial en un mensaje de confirmación, el empuje forzado de la confirmación con una confirmación modificada no eliminará la confirmación original de GitHub Enterprise. La confirmación anterior no será parte de una clonación posterior; sin embargo, es posible que siga almacenada en la memoria caché de GitHub Enterprise y que esté accesible mediante la ID de confirmación. Debes ponerte en contacto con tu administrador del sitio empresarial GitHub con la ID de confirmación antigua para purgarla del repositorio remoto.