Lien vers le numéro de problème sur GitHub dans un message de validation

Réponses:

954

Incluez simplement #xxxdans votre message de validation pour référencer un problème sans le fermer.

Avec les nouveaux problèmes GitHub 2.0, vous pouvez utiliser ces synonymes pour référencer un problème et le fermer (dans votre message de validation):

  • fix #xxx
  • fixes #xxx
  • fixed #xxx
  • close #xxx
  • closes #xxx
  • closed #xxx
  • resolve #xxx
  • resolves #xxx
  • resolved #xxx

Vous pouvez également remplacer #xxxpar gh-xxx.

Le référencement et la fermeture des problèmes entre les référentiels fonctionnent également:

fixes user/repo#xxx

Consultez la documentation disponible dans leur section d'aide.

NARKOZ
la source
4
Fix issue #xxxne fonctionne pas pour moi, des idées? Il fait référence au problème, mais ne le ferme pas.
Dennis
16
@Dennis supprime le mot "issue"
1
@JamesTomasino c'est possible - j'ai remarqué que cela ne fonctionnait pas pour moi quand je travaille sur une branche appelée dev.
Jon Cairns
1
Dans quelles situations chacun doit-il être utilisé?
nilsi
1
je ne vais pas être la personne qui déplace cette réponse de 666 votes à 667, mais cela a été TRÈS utile.
jakeatwork
168

Si vous souhaitez créer un lien vers un problème GitHub et fermer le problème, vous pouvez fournir les lignes suivantes dans votre message de validation Git:

Closes #1.
Closes GH-1.
Closes gh-1.

(L'un des trois fonctionnera.) Notez que cela sera lié au problème et le fermera également . Vous pouvez en savoir plus dans cet article de blog (commencez à regarder la vidéo intégrée vers 1:40).

Je ne sais pas si une syntaxe similaire sera simplement liée à un problème sans le fermer.

mipadi
la source
31
Vous pouvez simplement utiliser le numéro du problème (par exemple # 456) qu'il liera à la tâche sans la fermer.
Matthieu Napoli
9
Je choisirais "gh-1" plutôt que "# 1" simplement parce que vous ne savez jamais si le dépôt est exporté / mis en miroir ailleurs que dans github. Ensuite, le "# 1" n'aura pas beaucoup de sens.
huyz
2
@mipadi: est-ce .que le "Closes GH-1" est nécessaire? De plus, est-il sensible à la casse?
Lekensteyn
1
@Lekensteyn: Je ne pense pas que la période soit nécessaire. Pas sûr de la casse.
mipadi
message (closes GH-28)fonctionne pour moi, je ne sais pas si tout est insensible à la casse.
Lekensteyn
64

Vous pouvez également recouper les référentiels:

githubuser/repository#xxx

xxx étant le numéro d'émission

narkeeso
la source
62

github ajoute une référence au commit s'il contient #issuenbr (découvert par hasard).

Henrik Lindberg
la source
4
vient de le tester, fonctionne comme un charme, merci ... c'est celle qui devrait être marquée comme bonne réponse ...
opensas
14

ils ont une belle écriture sur les nouveaux problèmes 2.0 sur leur blog https://github.blog/2011-04-09-issues-2-0-the-next-generation/

les synonymes incluent

  • corrige #xxx
  • fixe #xxx
  • correction #xxx
  • ferme #xxx
  • fermer #xxx
  • fermé #xxx

l'utilisation de l'un des mots clés dans un message de validation fera que votre validation soit mentionnée ou fermera un problème.

xero
la source
Cela figurait déjà dans ma liste, je ne pense pas qu'ils soient sensibles à la casse.
xero
4

Comme complément aux autres réponses: si vous ne voulez même pas écrire le message de validation avec le numéro de problème et que vous utilisez Eclipse pour le développement, vous pouvez installer les plugins eGit et Mylyn ainsi que le connecteur GitHub pour Mylyn. Eclipse peut ensuite suivre automatiquement le problème sur lequel vous travaillez et remplir automatiquement le message de validation , y compris le numéro du problème, comme indiqué dans toutes les autres réponses.

Pour plus de détails sur cette configuration, voir http://wiki.eclipse.org/EGit/GitHub/UserGuide

Bananeweizen
la source
4

Afin de lier le numéro de problème à votre message de validation, vous devez ajouter: #issue_numberdans votre message de validation git.

Exemple de message de validation dans Udacity Git Guide de style de message de validation

feat: Summarize changes in around 50 characters or less

More detailed explanatory text, if necessary. Wrap it to about 72
characters or so. In some contexts, the first line is treated as the
subject of the commit and the rest of the text as the body. The
blank line separating the summary from the body is critical (unless
you omit the body entirely); various tools like `log`, `shortlog`
and `rebase` can get confused if you run the two together.

Explain the problem that this commit is solving. Focus on why you
are making this change as opposed to how (the code explains that).
Are there side effects or other unintuitive consequenses of this
change? Here's the place to explain them.

Further paragraphs come after blank lines.

 - Bullet points are okay, too

 - Typically a hyphen or asterisk is used for the bullet, preceded
   by a single space, with blank lines in between, but conventions
   vary here

If you use an issue tracker, put references to them at the bottom,
like this:

Resolves: #123
See also: #456, #789

Vous pouvez également référencer les référentiels:

githubuser/repository#issue_number
Suhas Srivats Subburathinam
la source
Cela n'a aucun sens (et m'agace en fait) qu'ils utilisent "feat" comme abréviation pour "feature", surtout quand ils utilisent en même temps "refactor" qui est encore plus long que "feature".
Michel Jung
@MichelJung, vous pourriez dire qu'il featest utilisé plus souvent que refactor, il n'y a pas non plus d'abréviation évidente refactor( refpourrait signifier une référence, rfn'est pas trop claire, etc.).
Chris Kraszewski
3

Un de mes premiers projets en tant que programmeur a été un joyau appelé stagecoach qui (entre autres) a permis l' ajout automatique d'un numéro de problème github à chaque message de validation sur une branche, ce qui est une partie de la question à laquelle on n'a pas vraiment répondu .

Essentiellement, lors de la création d'une branche, vous utiliseriez une commande personnalisée (quelque chose comme stagecoach -b <branch_name> -g <issue_number>), et le numéro de problème serait ensuite attribué à cette branche dans un fichier yml. Il y avait alors un crochet de validation qui ajoutait automatiquement le numéro de problème au message de validation.

Je ne le recommanderais pas pour une utilisation en production car à l'époque je ne programmais que depuis quelques mois et je ne le maintiens plus, mais cela peut intéresser quelqu'un.

omnikron
la source
Je pense que votre réponse essaie de répondre à la question exacte du PO, c'est-à-dire "un moyen d' avoir automatiquement un lien vers le problème ajouté dans le commit". Toutes les autres réponses reposent sur le fait que le programmeur se souvient d'ajouter "Correctifs # ..., résolus # ... etc." phrase au commit et cela ne se produira pas à chaque fois que nous le savons. Upvoting.
demisx