Cerrar varios problemas en Github con un mensaje de confirmación

112

Sé que puedes cerrar problemas poniendo closes #1o fixes #1en el mensaje de confirmación. ¿Cuál es la mejor manera de cerrar varios problemas en el mismo mensaje de confirmación?

Además, parece que el uso de fixesmás que closesno crea un enlace desde el mensaje de registro de la cuestión, sino que lo hace cerca del tema. ¿Que pasa con eso?

Rayne
fuente

Respuestas:

160

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

Las closescláusulas pueden estar en cualquier parte del mensaje y fixeses un sinónimo válido:

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

Lo siguiente solía funcionar, pero hoy en día solo hace referencia a los problemas # 2 y # 3.

Closes #1, #2, #3

Jakob Borg
fuente
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 he buscado en Google, pero no parece haber mucha ayuda al respecto.
Mark Bell
1
Convenido. Las correcciones # 1, # 2 funcionan para hacer referencia a ambos ... pero solo cierran # 1.
waldo
@waldo Creo que esto funcionó cuando lo escribí, hoy en día, ¿qué tal Closes #1, closes #2, closes #3? Detallado y redundante, sí, pero ¿tal vez funcione?
Jakob Borg
Sí, "Arreglos n. ° 1 - Arreglos n. ° 2 - mensaje de confirmación real". funciona y tiene algún sentido (si es detallado), es decir, claramente cierro y refiero (sin cerrar) varios problemas diferentes de un solo mensaje de confirmación.
waldo
2
¿Alguna idea de por qué cambiaron el comportamiento de Closes #1, #2, #3? Me parece ridículo escribir 10 closesmás los números de los problemas que se van a cerrar en lugar de un solo cierre y todos los números posteriores. : - /
rbaleksandar
38

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

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

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

Es posible que esto sea solo una cuestión de mi preferencia personal y terminará derribado por personas acostumbradas a compactar mensajes de confirmación que abarrotan los resúmenes de historial de Git, pero preferiría ver mensajes de confirmación con el formato:

Resumen del cambio realizado.

Se corrigieron los siguientes errores:
* Cargador de errores modificado, corrige el n. ° 1
* Devolvió un puntero no obsoleto, corrigió el n. ° 2
* Se aplicaron nuevos gráficos a los elementos de la interfaz gráfica de usuario, se cierra el n. ° 3

Preguntó cuál era la mejor manera de cerrar varios 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 enviar el compromiso a la rama principal, se cerrarán los problemas. Ver: ¿El enlace al número de problema de GitHub no funciona?

JNissi
fuente
Intenté a tu manera. Tengo que ser honesto, ¡me gusta mucho esto!
Billy Coover
9

Tenga en cuenta que, desde enero de 2013 , ha cambiado "Problemas de cierre mediante mensajes de confirmación":

Ahora, cuando ingrese " Fixes #33" en un mensaje de confirmación, el problema 33 solo se cerrará una vez que la confirmación se haya fusionado en su rama predeterminada (normalmente master) .

Esto es muy útil porque significa que el estado abierto / cerrado del problema se asignará a su rama predeterminada.
Si el error no se corrige 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 problema mediante un mensaje de confirmación:

close, closes, closed, fixes, fixed

Como lo ilustra la pregunta " Cerrar un problema de GitHub mientras está en una rama diferente ", esto causa cierta confusión al principio.

VonC
fuente
1

"Cerrar problemas mediante palabras clave" es un documento de GitHub que describe cómo cerrar problemas, etiquetas y cómo cerrar varios problemas.

Para responder a sus preguntas, la respuesta de GitHub es:

Cerrar varios problemas

Para cerrar varios problemas, comience cada referencia de problema con una de las palabras clave anteriores. Debe utilizar la palabra clave antes de cada problema al que haga referencia para que funcione.

Por ejemplo, Esto cierra # 34, cierra # 23 y cierra example_user / example_repo # 42 cerraría los problemas # 34 y # 23 en el mismo repositorio, y el problema # 42 en el repositorio "example_user / example_repo".

Vlad Bezden
fuente