web-dev-qa-db-fra.com

Fermeture de plusieurs problèmes dans Github avec un message de validation

Je sais que vous pouvez résoudre les problèmes en mettant closes #1 ou fixes #1 dans le message de validation. Quelle est la meilleure façon de fermer plusieurs problèmes dans le même message de validation?

En outre, il semble que l'utilisation de fixes plutôt que closes ne crée pas de lien entre le message de validation et le problème, mais cela fait ferme le problème. Qu'est-ce qui se passe?

103
Rayne

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

Les clauses closes peuvent être n'importe où dans le message et fixes est un synonyme valide:

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

Ce qui suit tilisé pour fonctionne, mais de nos jours seulement références émet # 2 et # 3.

Closes #1, #2, #3

144
Jakob Borg

La réponse et un commentaire à cette réponse mentionnent le format suivant:

Ferme # 1, ferme # 2, ferme # 3; Message de validation réel

Si j'avais un projet digne de participer et que quelqu'un envoyait une demande de pull avec de tels messages de validation, je refuserais le pull, quelle que soit la beauté du code.

Il est possible que ce soit juste une question de mes préférences personnelles et finisse par être battu au sol par des gens habitués à compacter les messages de validation qui encombrent les résumés de l'histoire de Git, mais je préférerais de loin voir les messages de validation au format:

Résumé de la modification apportée.

Correction des bugs suivants:
* Chargeur d'erreurs modifié, correction # 1
* Renvoyé un pointeur non périmé, corrige # 2
* Nouveau graphisme appliqué aux éléments de l'interface graphique, ferme # 3

Il a demandé le meilleur moyen de fermer plusieurs problèmes.

Notez également que si vous transmettez le commit avec le message à une autre branche que la branche par défaut actuelle de votre référentiel, les problèmes seront uniquement référencés. Pousser le commit vers la branche principale fermera les problèmes. Voir: Le lien vers le numéro de problème GitHub ne fonctionne pas?

35
JNissi

Notez que depuis janvier 201 , "Closing Issues via Commit Messages" a changé:

Maintenant, lorsque vous entrez "Fixes #33 "dans un message de validation, le problème 33 ne sera fermé qu'une fois la validation fusionnée dans votre branche par défaut (généralement master) .

C'est super utile car cela signifie que l'état ouvert/fermé du problème sera mappé à votre branche par défaut.
Si le bogue n'est pas corrigé dans votre branche par défaut, le problème restera ouvert.
Une fois la validation avec le correctif fusionnée dans votre branche par défaut, le problème sera automatiquement fermé.

Vous pouvez utiliser l'un de ces mots clés pour fermer un problème via un message de validation:

close, closes, closed, fixes, fixed

Comme illustré par la question " Fermeture d'un problème GitHub sur une branche différente ", cela provoque une certaine confusion au début.

9
VonC