Como faço para referenciar uma ramificação existente de um problema no GitHub?


133

Digamos que eu tenho um ramo chamado feature/1. E também edite # 1. Quero vincular esse ramo a esse problema.

Existe uma maneira de vincular esse ramo a essa questão do problema? Sem fazer um commit.

Respostas:


93

Diretamente do GitHub :

Referências

Certas referências são vinculadas automaticamente:

  • SHA: be6a8cc1c1ecfe9489fb51e4869af15a13fc2cd2
  • Usuário @ SHA ref: mojombo @ be6a8cc1c1ecfe9489fb51e4869af15a13fc2cd2
  • Usuário / Projeto @ SHA: mojombo / god @ be6a8cc1c1ecfe9489fb51e4869af15a13fc2cd2
  • #Num: # 1
  • Usuário / # Num: mojombo # 1
  • Usuário / Projeto Nº: mojombo / god # 1

Parece que diretamente (como em user / repo / branch) não é possível, mas talvez usando o ID da árvore?


73
Entrei em contato com o suporte do Github e eles me disseram que não é possível no momento.
Nerds #

5
Realmente gostaria que isso fosse possível. Uma solução alternativa seria usar solicitações pull (em vez de enviar diretamente) e referenciar o problema de dentro da solicitação pull.
precisa

2
Hmm, faz sentido, pois os nomes das filiais não são estáticos, mas as confirmações são.
jonasfj

3
@jonasfj O Github URL para um ramo é estático embora - é sempre /user/repo/tree/branch-name(ou /user/repo/commits/branch-name, dependendo do que você quer view)
GMA

É possível, como mostrado na minha resposta a esta pergunta.
LS

89

Como mencionado em outra resposta , o GitHub cria links automaticamente para várias coisas, incluindo outros repositórios GH, mas não para ramificações dentro desses repositórios. Quando eu quero fazer isso, eu faço manualmente o link assim:

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

Onde _user_, _project_e _branch_devem ser substituídas com as partes do URL do ramo. Por exemplo, uma ramificação no projeto "linguista" do GitHub:

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

Importante:

  • O processador Markdown do GitHub cria links usando o valor exato da URL entre parênteses. Você deve especificar o URL, considerando como um navegador lidaria com esse link. Se o URL especificado for apenas a parte do caminho (como neste exemplo), os navegadores tratarão o caminho como relativo ao URL da página atual. Se esse caminho relativo começar com uma barra (" /", também como neste exemplo), será relativo à raiz do servidor do URL da página atual. Caso contrário, os caminhos que não começarem com barra serão tratados em relação ao pai do URL da página atual. (Esta é a especificação básica do link HTML.)
  • Não se esqueça de incluir a treeparte da URL ao se referir a ramificações específicas de projetos.

8
Atualmente, meu link é convertido, /user/proj/blob/branchmesmo que eu tenha escrito treee não blob. Edit: working:../../tree/branch
vault

@vault Você pode postar um link aqui no documento Markdown que contém um exemplo disso?
LS

@LS, se bem me lembro, precisava dessa informação para escrever este README .
abóbada

2
@vault eu vejo! Aparentemente, existem regras diferentes para os links dos arquivos de reporte do MD e do texto do problema do MD. O orig. P e meu A são sobre links no texto da edição, mas atualizarei minha resposta para incluir arquivos de reporte de MD. I bifurcada seu repo e adicionou um link para README.md. O GH parece retirar o "/" principal do link e anexá-lo ao URL atual. Isso pode ser um bug. Vou verificar. De qualquer forma, URLs relativos com ".." fazem mais sentido em arquivos de recompra. Por exemplo, se você mesclou meu fork, meu novo link README.mdretornaria ao meu fork.
LS

13

Observe que a partir de abril de 2013 (" Rótulos de ramificação e tag para páginas de confirmação "):

  • Qualquer confirmação pode mencionar a ramificação da qual faz parte:

ramificar parte do commit

Se a confirmação não estiver na ramificação padrão, o indicador mostrará as ramificações que contêm a confirmação. Se a confirmação fizer parte de uma solicitação pull não imersa, um link será mostrado .

Link para solicitação de recebimento

Isso significa que fazer referência a uma confirmação do problema permitirá que o usuário veja a ramificação (observando a confirmação) e até mesmo ver um link para o problema (ainda observando a confirmação).


6

Você não pode fazer referência à ramificação diretamente.

Mas você pode fazer uma referência a um ramo comparado a outro ramo. Se você digitar isso:

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

renderizará como

branch1...branch2

Além disso, você pode comparar ramificações nos garfos. Se user2bifurcou repo, isso funciona:

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

0

Eu estava procurando a mesma possibilidade no Git, mas não havia nada disponível, então decidi referir diretamente o brach com um link de marcação usando a referência Hash.

# Issue02

## Commit Hash _<hash_number>_

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

Portanto, agora na minha organização, sempre fazemos essa referência ao abrir ou fechar um problema. Deve ser referido a um certo Hash e indiretamente, ao ramo correspondente.

Eu acho que você já agora, mas se não, para obter o hash, você usará git log

Nota: Não se refere a um ramo certo, mas a um commit,

Com algumas horas de trabalho, acho que é possível fazer isso automaticamente e criar uma ferramenta de linha de comando,

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.