Jak odwołać się do istniejącej gałęzi z problemu w GitHub?

133

Powiedzmy, że mam nazwaną gałąź feature/1. A także numer 1. Chcę połączyć tę gałąź z tym problemem.

Czy jest sposób, aby powiązać tę gałąź z tym problemem z problemu? Bez zobowiązania.

Nerian
źródło

Odpowiedzi:

93

Bezpośrednio z GitHub :

Bibliografia

Niektóre pliki referencyjne są łączone automatycznie:

  • SHA: be6a8cc1c1ecfe9489fb51e4869af15a13fc2cd2
  • Użytkownik @ SHA ref: mojombo @ be6a8cc1c1ecfe9489fb51e4869af15a13fc2cd2
  • Użytkownik / Projekt @ SHA: mojombo / god @ be6a8cc1c1ecfe9489fb51e4869af15a13fc2cd2
  • #Num: # 1
  • Użytkownik / # Num: mojombo # 1
  • User / Project # Num: mojombo / god # 1

Wydaje się, że bezpośrednio (jak w user / repo / branch) nie jest możliwe, ale może przy użyciu id drzewa?

fuzzyalej
źródło
73
Skontaktowałem się z obsługą Github i powiedzieli mi, że w tej chwili nie jest to możliwe.
Nerian
5
Naprawdę chciałbym, żeby to było możliwe. Obejściem tego byłoby użycie żądań ściągnięcia (zamiast bezpośredniego wypychania) i odwołanie się do problemu z poziomu żądania ściągnięcia.
Olivier Lalonde
2
Hmm, ma to sens, ponieważ nazwy gałęzi nie są statyczne, ale zatwierdzenia są.
jonasfj
3
@jonasfj Adres URL Github dla oddziału jest jednak statyczny - zawsze /user/repo/tree/branch-name(lub w /user/repo/commits/branch-namezależności od tego, co chcesz wyświetlić)
GMA
Jest to możliwe, jak pokazuje moja odpowiedź na to pytanie.
LS
89

Jak wspomniano w innej odpowiedzi , GitHub automatycznie tworzy linki do różnych rzeczy, w tym innych repozytoriów GH, ale nie do oddziałów w tych repozytoriach. Kiedy chcę to zrobić, ręcznie tworzę link w następujący sposób:

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

Gdzie _user_, _project_i _branch_należy zastąpić częściami adresu URL oddziału. Na przykład gałąź w projekcie „lingwista” GitHub:

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

Ważny:

  • Procesor Markdown GitHub tworzy linki przy użyciu dokładnej wartości adresu URL zawartej w nawiasach. Musisz określić adres URL, biorąc pod uwagę, jak przeglądarka będzie obsługiwać to łącze. Jeśli określony adres URL jest tylko częścią ścieżki (jak w tym przykładzie), przeglądarki potraktują ścieżkę jako względną w stosunku do adresu URL bieżącej strony. Jeśli ta ścieżka względna zaczyna się od ukośnika („ /”, również jak w tym przykładzie), będzie ona względna w stosunku do katalogu głównego serwera adresu URL bieżącej strony. W przeciwnym razie ścieżki, które nie zaczynają się ukośnikiem, będą traktowane jako względne w stosunku do nadrzędnego adresu URL bieżącej strony. (To jest podstawowa specyfikacja linków HTML).
  • Nie zapomnij dołączyć treeczęści adresu URL, odnosząc się do konkretnych gałęzi projektów.
LS
źródło
8
Obecnie mój link jest konwertowany na, /user/proj/blob/branchnawet jeśli napisałem, treea nie blob. Edycja: działa:../../tree/branch
skarbiec
@vault Czy możesz zamieścić łącze do dokumentu Markdown zawierającego przykład tego?
LS,
@LS, jeśli dobrze pamiętam, potrzebowałem tych informacji do napisania tego pliku README .
skarbiec
2
@vault, widzę! Najwyraźniej istnieją inne zasady dotyczące linków z plików repozytorium MD niż z tekstu wydania MD. Pochodzenie Pytanie i moja A dotyczą łączy w tekście problemu, ale zaktualizuję odpowiedź, aby zawierała pliki repozytorium MD. I rozwidlone swoje repo i dodał link README.md. Wydaje się, że GH usuwa początkowy znak „/” z linku i dołącza go do bieżącego adresu URL. To może być błąd. Sprawdzę to. W każdym razie względne adresy URL z „..” mają większy sens w plikach repozytorium. Na przykład, jeśli połączysz mój fork, mój nowy link w README.mdbędzie odnosił się z powrotem do mojego fork.
LS
13

Należy pamiętać, że od kwietnia 2013 r. („ Etykiety rozgałęzień i tagów dla stron zatwierdzających ”):

  • Każde zatwierdzenie może wspomnieć o gałęzi, której jest częścią:

rozgałęziona część zatwierdzenia

Jeśli zatwierdzenie nie znajduje się w domyślnej gałęzi, wskaźnik pokaże gałęzie, które zawierają zatwierdzenie. Jeśli zatwierdzenie jest częścią niescalonego żądania ściągnięcia, zostanie wyświetlony link .

Link do żądania ściągnięcia

Oznacza to, że odwołanie się do zatwierdzenia z wydania pozwoli użytkownikowi zobaczyć gałąź (patrząc na zatwierdzenie), a nawet zobaczyć łącze z powrotem do problemu (nadal patrząc na zatwierdzenie).

VonC
źródło
6

Nie możesz bezpośrednio odwoływać się do oddziału.

Ale możesz odnieść się do gałęzi w porównaniu do innej gałęzi. Jeśli wpiszesz to:

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

będzie renderować jako

branch1...branch2

Możesz także porównać gałęzie na widłach. Jeśli user2rozwidlił się repo, działa to:

https://github.com/user1/repo/compare/branch1...user2:branch2
Lars Brinkhoff
źródło
0

Szukałem tej samej możliwości w Git, ale nic nie było dostępne, więc zdecydowałem się bezpośrednio odesłać brach za pomocą linku przeceny za pomocą odwołania Hash.

# Issue02

## Commit Hash _<hash_number>_

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

Tak więc teraz w mojej organizacji zawsze używamy tego odniesienia podczas otwierania lub zamykania problemu. Musi odnosić się do określonego skrótu, a pośrednio do odpowiedniej gałęzi.

Myślę, że już teraz, ale jeśli nie, aby uzyskać hash, użyjesz git log

Uwaga: nie odnosi się do gałęzi certyfikującej, ale do zatwierdzenia,

Myślę, że po kilku godzinach pracy można to zrobić automatycznie i stworzyć narzędzie wiersza poleceń,

negrotico19
źródło