2012-05-23 17 views
97

¿Hay alguna forma de editar en línea el mensaje de confirmación en GitHub.com, después del envío?Edición del mensaje de confirmación de git en GitHub

Desde la línea de comandos, uno puede hacer

git commit --amend -m "New commit message" 

como se sugiere correctamente en another question.

Probando git pull y luego git push ha funcionado (sin ningún otro compromiso que haya interferido mientras tanto).

¿Pero se puede hacer a través del sitio web GitHub?

+0

Por favor, vea @ [respuesta] de DanGreen-Leipciger (https://stackoverflow.com/a/41513487/465053) a pesar de que no es el aceptado. – RBT

Respuesta

68

No, esto no es directamente posible. El hash para cada confirmación de Git también se calcula en función del mensaje de confirmación. Cuando cambia el mensaje de confirmación, cambia el hash de confirmación. Si quieres presionar ese compromiso, debes forzar ese empuje (git push -f). Pero si alguien ya retiró su compromiso anterior y comenzó un trabajo basado en esa confirmación, tendría que volver a establecer su trabajo en su nuevo compromiso.

+0

También pude hacer git pull y luego git push y funcionó. Pero aparentemente no hay una forma en línea. – PNS

+0

Todavía no es posible a partir del 5 de abril de 2016 – bigT

+0

Y supongo que no será de alta prioridad, ya que cambiaría el historial de confirmación de una rama ya publicada, lo que nunca debería hacer (excepto si está 200% seguro de que nadie más tiene esta sucursal en su máquina local). – dunni

29

Necesita git push -f suponiendo que nadie haya sacado la otra confirmación antes. Ten cuidado, estás cambiando la historia.

+0

Git pull y luego git push funcionaron también. ¡Gracias! – PNS

+2

seguro, pero si '--enmend' ya ha cambiado el historial. – three

+0

Eso es verdad. :-) – PNS

3

No, porque el mensaje de compromiso está relacionado con el compromiso SHA/hash, y si lo cambiamos, el SHA de confirmación también se cambia. La forma en que usé es crear un comentario sobre esa confirmación. No puedo pensar de otra manera.

0

Tenía el mismo problema.

Consulte en su github para una rama en particular y conocerá la identificación de confirmación de la primera confirmación en esa rama. hacer un rebase a que:

git rebase -i editor de

se abrirá. Haga un seguimiento de sus confirmaciones desde github UI y abra el editor y cambie los mensajes.

66

instrucciones del GitHub para hacer esto:

  1. En la línea de mandatos, vaya al repositorio que contiene el envío de datos que desea modificar.
  2. Escriba git commit --amend y presione Entrar.
  3. En su editor de texto, edite el mensaje de confirmación y guarde la confirmación.
  4. Utilice el comando git push --force example-branch para forzar la inserción sobre la confirmación anterior.

Fuente: https://help.github.com/articles/changing-a-commit-message/

+5

debería ser la respuesta correcta. – mcranston18

+0

¿Qué significa "navegar al repositorio"? Para mí, una confirmación está en una rama, junto con otras confirmaciones. Y ahora he empujado todo para que mi área de trabajo esté limpia. ¿Cómo llego allí para cambiar el mensaje? Lo siento, soy un novato con esto. – pgr

+0

Significa ir a la carpeta en un entorno * nix. Es decir. si su repos se llama "barra" y vive en un directorio llamado "foo" que vive en la raíz de su máquina, abra una terminal y escriba 'cd/foo/bar'. Ahora está listo para el paso 2 –

Cuestiones relacionadas