Esta versión de GitHub Enterprise se discontinuó el 2021-06-09. No se realizarán lanzamientos de patch, ni siquiera para problemas de seguridad críticos. Para obtener un mejor desempeño, más seguridad y nuevas características, actualiza a la última versión de GitHub Enterprise. Para obtener ayuda con la actualización, contacta al soporte de GitHub Enterprise.

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.

  1. En la línea de comando, desplázate hasta el repositorio que contiene la confirmación que deseas modificar.
  2. Escribe git commit --amend y presiona Enter (Intro).
  3. En tu editor de texto, edita el mensaje de confirmación y guarda la confirmación.

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

  1. Sigue los pasos anteriores para modificar el mensaje de confirmación.
  2. 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.

  1. En la línea de comando, desplázate hasta el repositorio que contiene la confirmación que deseas modificar.

  2. Usa el comando git rebase -i HEAD~n para mostrar una lista de las últimas confirmaciones n 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
  3. Reemplaza pick (escoger) por reword (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.
  4. Guardar y cerrar el archivo con la lista de confirmaciones.

  5. En cada archivo de confirmación resultante, escribe el nuevo mensaje de confirmación, guarda el archivo, y ciérralo.

  6. 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.

Leer más