Comment référencer une branche existante à partir d'un problème dans GitHub?

133

Disons que j'ai une branche nommée feature/1. Et aussi le numéro 1. Je veux relier cette branche à ce problème.

Existe-t-il un moyen de relier cette branche à ce problème à partir du problème? Sans faire de commit.

Nerian
la source

Réponses:

93

Directement depuis GitHub :

Références

Certaines références sont liées automatiquement:

  • SHA: be6a8cc1c1ecfe9489fb51e4869af15a13fc2cd2
  • Utilisateur @ SHA ref: mojombo @ be6a8cc1c1ecfe9489fb51e4869af15a13fc2cd2
  • Utilisateur / Projet @ SHA: mojombo / god @ be6a8cc1c1ecfe9489fb51e4869af15a13fc2cd2
  • #Num: # 1
  • Utilisateur / # Num: mojombo # 1
  • Utilisateur / Projet # Num: mojombo / god # 1

Il semble que directement (comme dans user / repo / branch) n'est pas possible, mais peut-être en utilisant l'id de l'arbre?

fuzzyalej
la source
73
J'ai contacté le support de Github et ils m'ont dit que ce n'était pas possible pour le moment.
Nerian
5
Je souhaite vraiment que cela soit possible. Une solution consiste à utiliser des demandes d'extraction (au lieu de pousser directement) et à référencer le problème à partir de la demande d'extraction.
Olivier Lalonde
2
Hmm, cela a du sens car les noms de branche ne sont pas statiques mais les validations le sont.
jonasfj
3
@jonasfj L'URL Github pour une branche est cependant statique - c'est toujours /user/repo/tree/branch-name(ou /user/repo/commits/branch-nameselon ce que vous voulez voir)
GMA
C'est possible, comme le montre ma réponse à cette question.
LS
89

Comme mentionné dans une autre réponse , GitHub crée automatiquement des liens vers diverses choses, y compris d'autres référentiels GH, mais pas vers des branches au sein de ces référentiels. Lorsque je veux faire cela, je crée manuellement le lien comme ceci:

[a link to a branch](/_user_/_project_/tree/_branch_)

_user_, _project_et _branch_doit être remplacé par les parties de l'URL de la branche. Par exemple, une branche dans le projet "linguist" de GitHub:

[api-changes branch in github/linguist](/github/linguist/tree/api-changes)

Important:

  • Le processeur Markdown de GitHub crée des liens en utilisant la valeur URL exacte entre parenthèses. Vous devez spécifier l'URL en tenant compte de la manière dont un navigateur traiterait ce lien. Si l'URL spécifiée n'est que la partie du chemin (comme dans cet exemple), les navigateurs traiteront le chemin comme relatif à l'URL de la page actuelle. Si ce chemin relatif commence par une barre oblique (" /", également comme dans cet exemple), alors il sera relatif à la racine du serveur de l'URL de la page actuelle. Sinon, les chemins qui ne commencent pas par une barre oblique seront traités comme relatifs au parent de l'URL de la page actuelle. (Il s'agit de la spécification de base des liens HTML.)
  • N'oubliez pas d'inclure la treepartie de l'URL lorsque vous vous référez à des branches spécifiques de projets.
LS
la source
8
Je convertis actuellement mon lien en /user/proj/blob/branchmême si j'ai écrit treeet non blob. Edit: travail:../../tree/branch
coffre
@vault Pouvez-vous publier ici un lien vers le document Markdown contenant un exemple de cela?
LS
@LS si je me souviens bien, j'avais besoin de ces informations pour écrire ce README .
saut du
2
@vault je vois! Apparemment, il existe des règles différentes pour les liens entre les fichiers de dépôt MD et le texte du problème MD. L'orig. Q et mon A concernent les liens dans le texte du problème, mais je vais mettre à jour ma réponse pour inclure les fichiers de dépôt MD. J'ai forké votre repo et ajouté un lien versREADME.md . GH semble supprimer le début "/" du lien et l'ajouter à l'URL actuelle. Cela peut être un bug. Je vais vérifier. Quoi qu'il en soit, les URL relatives avec ".." ont plus de sens dans les fichiers de dépôt. Par exemple, si vous fusionnez ma fourchette, mon nouveau lien README.mdrenvoie à ma fourchette.
LS
13

Notez qu'à partir d'avril 2013 (" Libellés des branches et des balises pour les pages de validation "):

  • Tout commit peut mentionner la branche dont il fait partie:

branche partie de commit

Si le commit n'est pas sur la branche par défaut, l'indicateur affichera les branches qui contiennent le commit. Si le commit fait partie d'une pull request non fusionnée, un lien sera affiché .

Lien vers la demande d'extraction

Cela signifie que référencer un commit à partir du problème permettra à l'utilisateur de voir la branche (en regardant le commit), et même de voir un lien vers le problème (toujours en regardant le commit).

VonC
la source
6

Vous ne pouvez pas référencer directement la branche.

Mais vous pouvez faire référence à une branche par rapport à une autre branche. Si vous entrez ceci:

https://github.com/user1/repo/compare/branch1...branch2

il sera rendu comme

branch1...branch2

Vous pouvez également comparer les branches entre les fourches. Si user2a bifurqué repo, cela fonctionne:

https://github.com/user1/repo/compare/branch1...user2:branch2
Lars Brinkhoff
la source
0

Je cherchais la même possibilité dans Git, mais rien n'était disponible donc j'ai décidé de consulter directement le Brach avec un démarquage lien en utilisant la référence Hash.

# Issue02

## Commit Hash _<hash_number>_

...Rest of comments in the issue...

Donc, maintenant dans mon organisation, nous faisons toujours cette référence lors de l'ouverture ou de la fermeture d'un numéro. Il doit être référencé à un certain Hash et indirectement il se réfère à la branche correspondante.

Je suppose que vous êtes déjà maintenant, mais sinon, pour obtenir le hachage, vous utiliserez git log

Remarque: il ne fait pas référence à une branche certaing mais à un commit,

Avec quelques heures de travail, je pense qu'il est possible de le faire automatiquement et de créer un outil en ligne de commande,

negrotico19
la source