2010-08-23 9 views
91

Sé que puede cerrar problemas poniendo closes #1 o fixes #1 en el mensaje de confirmación. ¿Cuál es la mejor manera de cerrar problemas múltiples en el mismo mensaje de compromiso?Cierre de varios problemas en Github con un mensaje de confirmación

Además, parece que el uso de fixes en lugar de closes no crea un enlace desde el mensaje de comprometerse con el tema, pero hace cerrar el tema. ¿Que pasa con eso?

+0

Ver http://stackoverflow.com/questions/1687262 – Krinkle

Respuesta

129

Closes #1, closes #2, closes #3; rest of commit message.

Los closes cláusulas pueden ser en cualquier parte del mensaje y fixes es un sinónimo válido:

This fixes a memory leak in foo() that closes #4, 
also fixes #5 which is a duplicate. 

El siguiente trabajo utilizado para, pero hoy en día sólo referencias problemas # 2 y # 3.

Closes #1, #2, #3

+1

Esto no parece funcionar para mí, solo cierra el primer elemento de la lista y no los demás. ¿Ha cambiado la sintaxis desde esta publicación? Lo busqué en Google, pero no parece haber mucha ayuda sobre esto. –

+1

De acuerdo. Las correcciones # 1, # 2 funcionan para hacer referencia a ambas ... pero solo cierra # 1. – waldo

+0

@waldo Creo que esto funcionó cuando lo escribí; hoy en día, ¿qué tal 'cierra # 1, cierra # 2, cierra # 3'? Verboso y redundante, sí, pero tal vez funcione? –

35

La respuesta y un comentario a esa respuesta mencionan el siguiente formato:

Cierra # 1, # 2 se cierra, se cierra # 3; Mensaje de confirmación real

Si tuviera un proyecto que valiera la pena participar y alguien enviara una solicitud de extracción con dichos mensajes de confirmación, rechazaría la extracción sin importar qué tan hermoso fuera el código.

Es posible que esto sea solo una cuestión de mi preferencia personal y terminará golpeado hasta el suelo por la gente utilizada para compactar los mensajes de confirmación que llenan los resúmenes de historia de Git, pero prefiero ver los mensajes de confirmación con el formato :

Resumen del cambio realizado.

fijos siguientes errores:
* Modificado cargador de errores, correcciones # 1
* devuelve un puntero nonstale, fija # 2
* aplicados nuevos gráficos en Gui elementos, se cierra # 3

Pidió para el mejor forma de cerrar múltiples problemas.

También tenga en cuenta que si envía la confirmación con el mensaje a cualquier otra rama que no sea la rama predeterminada actual de su repositorio, solo se hará referencia a los problemas. Al presionar el compromiso a la rama principal se cerrarán los problemas. Ver: Link to GitHub issue number not working?

+0

¡Buen consejo! :) –

+0

Acabo de probar tu camino. Tengo que ser honesto, ¡realmente me gusta esto! –

9

Tenga en cuenta que, dado que January 2013, "Cuestiones de cierre a través de los mensajes de confirmación" ha cambiado:

Ahora, cuando se introduce "Fixes #33" en un mensaje de confirmación, tema 33 sólo se cierra una vez que el compromiso es fusionado en su rama predeterminada (generalmente master).

Esto es súper útil porque significa que el estado abierto/cerrado de la emisión se asignará a su rama predeterminada.
Si el error no se soluciona en su rama predeterminada, el problema permanecerá abierto.
Una vez que la confirmación con la corrección se fusiona en su rama predeterminada, el problema se cerrará automáticamente.

Puede utilizar cualquiera de estas palabras clave para cerrar un tema a través de mensaje de confirmación:

close, closes, closed, fixes, fixed 

Como se ilustra por la pregunta "Closing a GitHub Issue while on a different branch", esto provoca una cierta confusión al principio.

Cuestiones relacionadas