如何从GitHub中的问题引用现有分支?

Ner*_*ian 129 github git-branch

假设我有一个名为的分支feature/1.并且还发行#1.我想将该分支链接到该问题.

有没有一种方法来分支链接到这个问题问题?没有提交.

L S*_*L S 88

正如另一个答案中所提到的,GitHub会自动链接各种内容,包括其他GH存储库,但不会链接到这些存储库中的分支.当我想这样做时,我手动创建这样的链接:

[a link to a branch](/_user_/_project_/tree/_branch_)
Run Code Online (Sandbox Code Playgroud)

其中_user_,_project__branch_应该用分支URL的部分替换.例如,GitHub的"语言学家"项目中的一个分支:

[api-changes branch in github/linguist](/github/linguist/tree/api-changes)
Run Code Online (Sandbox Code Playgroud)

重要:

  • GitHub的Markdown处理器使用括号内的精确URL值创建链接.您必须考虑浏览器如何处理该链接来指定URL.如果指定的URL仅是路径部分(如本例所示),则浏览器会将路径视为相对于当前页面的URL.如果该相对路径以斜杠(" /",也在此示例中)开头,则它将相对于当前页面URL的服务器的根目录.否则,不以斜杠开头的路径将被视为相对于当前页面URL的父路径.(这是基本的HTML链接规范.)
  • tree在引用项目的特定分支时,不要忘记包含URL 的一部分.

  • 即使我写了`tree`而不是`blob`,我现在把我的链接转换为`/ user/proj/blob/branch`.编辑:工作:`../../ tree/branch` (7认同)
  • @vault 我明白了!显然,来自 MD 回购文件的链接与来自 MD 问题文本的链接有不同的规则。原点。Q 和我的 A 是关于问题文本中的链接,但我会更新我的答案以包含 MD repo 文件。我 [分叉了你的 repo](https://github.com/sloanlance/django-polls-tutorial) 并添加了一个指向 `README.md` 的链接。GH 似乎从链接中去除了前导“/”并将其附加到当前 URL。那可能是一个错误。我会检查一下。无论如何,带有“..”的相对 URL 在 repo 文件中更有意义。例如,如果您合并了我的 fork,我在 `README.md` 中的新链接将引用回我的 fork。 (3认同)

fuz*_*lej 86

直接来自github:

参考

某些引用是自动链接的:

  • SHA:be6a8cc1c1ecfe9489fb51e4869af15a13fc2cd2
  • 用户@ SHA参考:mojombo @ be6a8cc1c1ecfe9489fb51e4869af15a13fc2cd2
  • 用户/项目@ SHA:mojombo/god @ be6a8cc1c1ecfe9489fb51e4869af15a13fc2cd2
  • #Num:#1
  • 用户/ #Num:mojombo#1
  • 用户/项目#Num:mojombo/god#1

似乎直接(如在user/repo/branch中)是不可能的,但可能通过使用树的id?

  • 我联系了Github的支持,他们告诉我现在不可能. (69认同)
  • 真的希望这是可能的.解决这个问题的方法是使用拉取请求(而不是直接推送)并从拉取请求中引用问题. (5认同)
  • @jonasfj分支的Github URL是静态的 - 它总是`/ user/repo/tree/branch-name`(或`/ user/repo/commits/branch-name`取决于你想要查看的内容) (3认同)
  • 嗯,有意义,因为分支名称不是静态的,而是提交. (2认同)

Von*_*onC 13

需要注意的是,从2013年4月(" 分公司和Tag标签对于提交页面 "):

  • 任何提交都可以提及它所属的分支:

提交的分支部分

如果提交不在默认分支上,则指示符将显示包含提交的分支.如果提交是未合并拉取请求的一部分,则将显示链接.

链接到拉取请求

这意味着引用从问题的提交将允许用户查看分支(通过查看提交),甚至看到一个链接回到这个问题(通过寻找提交).


Lar*_*off 5

您无法直接引用该分支.

但是,另一个分支相比,您可以引用分支.如果你输入这个:

https://github.com/user1/repo/compare/branch1...branch2
Run Code Online (Sandbox Code Playgroud)

它将呈现为

branch1...branch2
Run Code Online (Sandbox Code Playgroud)

此外,您可以比较叉子之间的分支.如果user2已经分叉repo,这有效:

https://github.com/user1/repo/compare/branch1...user2:branch2
Run Code Online (Sandbox Code Playgroud)