Wie verweise ich auf einen vorhandenen Zweig eines Problems in GitHub?


133

Angenommen, ich habe einen Zweig mit dem Namen feature/1. Und auch Ausgabe Nr. 1. Ich möchte diesen Zweig mit diesem Problem verknüpfen.

Gibt es eine Möglichkeit, diesen Zweig von diesem Problem aus mit diesem Problem zu verknüpfen ? Ohne eine Verpflichtung einzugehen.

Antworten:


93

Direkt von GitHub :

Verweise

Bestimmte Referenzen werden automatisch verknüpft:

  • SHA: be6a8cc1c1ecfe9489fb51e4869af15a13fc2cd2
  • User @ SHA ref: mojombo @ be6a8cc1c1ecfe9489fb51e4869af15a13fc2cd2
  • Benutzer / Projekt @ SHA: mojombo / god @ be6a8cc1c1ecfe9489fb51e4869af15a13fc2cd2
  • #Num: # 1
  • Benutzer / # Num: mojombo # 1
  • Benutzer / Projekt # Num: mojombo / god # 1

Es scheint, dass direkt (wie in Benutzer / Repo / Zweig) nicht möglich ist, aber vielleicht unter Verwendung der ID des Baums?


73
Ich habe Githubs Support kontaktiert und sie sagten mir, dass dies momentan nicht möglich ist.
Nerian

5
Ich wünschte wirklich, das wäre möglich. Eine Problemumgehung besteht darin, Pull-Anforderungen zu verwenden (anstatt direkt zu pushen) und das Problem innerhalb der Pull-Anforderung zu referenzieren.
Olivier Lalonde

2
Hmm, macht Sinn, da Zweignamen nicht statisch sind, sondern Commits.
Jonasfj

3
@ Jonasfj Die Github-URL für einen Zweig ist jedoch statisch - es ist immer /user/repo/tree/branch-name(oder /user/repo/commits/branch-nameabhängig davon, was Sie anzeigen möchten)
GMA

Es ist möglich, wie in meiner Antwort auf diese Frage gezeigt.
LS

89

Wie in einer anderen Antwort erwähnt , stellt GitHub automatisch Links zu verschiedenen Dingen her, einschließlich anderer GH-Repositorys, jedoch nicht zu Zweigen innerhalb dieser Repositorys. Wenn ich das machen möchte, mache ich den Link manuell wie folgt:

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

Wo _user_, _project_und _branch_soll mit den Teilen der Niederlassung der URL ersetzt werden. Zum Beispiel ein Zweig in GitHubs "Linguist" -Projekt:

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

Wichtig:

  • Der Markdown-Prozessor von GitHub erstellt Links unter Verwendung des genauen URL-Werts in Klammern. Sie müssen die URL angeben und berücksichtigen, wie ein Browser mit diesem Link umgehen würde. Wenn die angegebene URL nur der Pfadabschnitt ist (wie in diesem Beispiel), behandeln Browser den Pfad als relativ zur URL der aktuellen Seite. Wenn dieser relative Pfad mit einem Schrägstrich (" /", ebenfalls wie in diesem Beispiel) beginnt , ist er relativ zum Stammverzeichnis des Servers der URL der aktuellen Seite. Andernfalls werden Pfade, die nicht mit einem Schrägstrich beginnen, als relativ zum übergeordneten Element der URL der aktuellen Seite behandelt. (Dies ist die grundlegende HTML-Linkspezifikation.)
  • Vergessen Sie nicht, den treeTeil der URL anzugeben, wenn Sie auf bestimmte Projektzweige verweisen.

8
Ich bekomme derzeit meinen Link konvertiert, /user/proj/blob/branchauch wenn ich geschrieben habe treeund nicht blob. Bearbeiten: arbeiten:../../tree/branch
Tresor

@vault Können Sie hier einen Link zum Markdown-Dokument veröffentlichen, das ein Beispiel dafür enthält?
LS

@LS Wenn ich mich richtig erinnere, brauchte ich diese Informationen, um diese README zu schreiben .
Gewölbe

2
@ Gewölbe sehe ich! Anscheinend gibt es andere Regeln für Links aus MD-Repo-Dateien als aus MD-Problemtext. Der orig. Q und mein A beziehen sich auf Links im Problemtext, aber ich werde meine Antwort aktualisieren, um MD-Repo-Dateien einzuschließen. Ich habe dein Repo gegabelt und einen Link zu hinzugefügt README.md. GH scheint das führende "/" vom Link zu entfernen und es an die aktuelle URL anzuhängen. Das kann ein Fehler sein. Ich werde es überprüfen. Auf jeden Fall sind relative URLs mit ".." in Repo-Dateien sinnvoller. Wenn Sie beispielsweise meine Gabel zusammenführen, README.mdverweist mein neuer Link in auf meine Gabel.
LS

13

Beachten Sie, dass ab April 2013 (" Verzweigungs- und Tag-Beschriftungen für Commit-Seiten "):

  • Jedes Commit kann den Zweig erwähnen, zu dem es gehört:

Zweigteil des Commits

Wenn sich das Commit nicht im Standardzweig befindet, zeigt das Kennzeichen die Zweige an, die das Commit enthalten. Wenn das Commit Teil einer nicht zusammengeführten Pull-Anforderung ist, wird ein Link angezeigt .

Link zum Abrufen der Anfrage

Das bedeutet, dass der Benutzer durch Verweisen auf ein Commit aus dem Problem den Zweig sehen kann (indem er sich das Commit ansieht) und sogar einen Link zurück zum Problem sieht (immer noch indem er sich das Commit ansieht).


6

Sie können den Zweig nicht direkt referenzieren.

Sie können jedoch einen Verweis auf einen Zweig im Vergleich zu einem anderen Zweig erstellen. Wenn Sie dies eingeben:

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

es wird gerendert als

branch1...branch2

Sie können auch Zweige über Gabeln hinweg vergleichen. Wenn user2sich gegabelt hat repo, funktioniert dies:

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

0

Ich suchte nach der gleichen Möglichkeit in Git, aber es war nichts verfügbar, also entschied ich mich, den Brach direkt mit einem Markdown- Link unter Verwendung der Hash-Referenz zu verweisen.

# Issue02

## Commit Hash _<hash_number>_

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

In meiner Organisation machen wir diese Referenz immer, wenn wir ein Problem öffnen oder schließen. Es muss auf einen bestimmten Hash verwiesen werden und indirekt auf den entsprechenden Zweig.

Ich denke du schon jetzt, aber wenn nicht, wirst du Git Log verwenden , um den Hash zu bekommen

Hinweis: Es bezieht sich nicht auf einen Zertifizierungszweig, sondern auf ein Commit.

Mit einigen Stunden Arbeit denke ich, dass es möglich ist, dies automatisch zu tun und ein Kommandozeilen-Tool zu erstellen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.