我知道我可以链接到GitHub存储库上文件的特定行号(我相信我以前见过这个)…

我该怎么做呢?


当前回答

气息。seib有一个复杂的答案,但我只是想指出,而不是按Y来获得永久链接,GitHub现在有一个非常简单的UI,帮助你实现它。

通过单击行号选择一行或通过按住Shift选择多行(与在文件资源管理器中选择多个文件夹的方式相同): 在选中的第一行的右上角,展开…然后单击“复制永久链接” 就是这样。一个包含选定行和提交散列的链接被复制到你的剪贴板: https://github.com/python/cpython/blob/c82b7f332aff606af6c9c163da75f1e86514125e/Doc/Makefile#L1-L4

其他回答

气息。seib有一个复杂的答案,但我只是想指出,而不是按Y来获得永久链接,GitHub现在有一个非常简单的UI,帮助你实现它。

通过单击行号选择一行或通过按住Shift选择多行(与在文件资源管理器中选择多个文件夹的方式相同): 在选中的第一行的右上角,展开…然后单击“复制永久链接” 就是这样。一个包含选定行和提交散列的链接被复制到你的剪贴板: https://github.com/python/cpython/blob/c82b7f332aff606af6c9c163da75f1e86514125e/Doc/Makefile#L1-L4

不要只是链接到行号!一定要使用规范的URL。否则,当该文件更新时,URL将指向错误的行!

如何让一个永久的链接到正确的行:

单击您想要的行号(如第18行),浏览器中的URL将在末尾添加#L18。你直接点击左边的18,而不是代码行。看起来是这样的:

现在你的浏览器URL看起来是这样的:

https://github.com/git/git/blob/master/README.md?plain=1#L18

如果您想选择多行,只需按住Shift键并单击第二个行号,如第20行。看起来是这样的:

现在你的浏览器URL看起来是这样的:

https://github.com/git/git/blob/master/README.md?plain=1#L18-L20

这是最重要的部分:

现在,通过按Y键获得该特定提交的规范URL。浏览器中的URL会变成这样:

https://github.com/git/git/blob/5bdb7a78adf2a2656a1915e6fa656aecb45c1fc3/README#L18-L20

该链接包含特定提交的实际SHA-1散列,而不是主文件的当前版本。这意味着该链接将永远工作,而不指向该文件未来版本可能包含的任何内容的第18-20行。

现在沐浴在新的永久链接的光辉中吧。: -)

正如watashiSHUN所指出的,GitHub现在通过提供一个…选择一行或多行后,在左侧显示。请看watashiSHUN的回答。

举例来说——在上面的例子中,我在URL中引用了“README”文件。在编写这个答案时,那些非规范的url实际上是有效的。但是自从README被移到README.md后,这些url就再也不起作用了。但是带有SHA-1散列的规范URL仍然可以工作,正如预期的那样。

有些文件是“可渲染的”,比如Markdown文件。GitHub要求?plain=1来显示它们的内容,而不是渲染。

用于拉取请求中的一行。

https://github.com/foo/bar/pull/90/files#diff-ce6bf647d5a531e54ef0502c7fe799deR27
https://github.com/foo/bar/pull/
90 <- PR number
/files#diff-
ce6bf647d5a531e54ef0502c7fe799de <- MD5 has of file name from repo root
R <- Which side of the diff to reference (merge-base or head). Can be L or R.
27 <- Line number

只要L和R是正确的,就会得到一条直线。我不确定是否有方法访问L或r,即如果PR增加了一行,你必须使用r。如果它删除了一行,你必须使用L。

从:生成行指针URL到Github拉请求

许多编辑器(但也参见下面的命令部分)支持链接到GitHub或Bitbucket(或其他)上的文件行号或范围。以下是一个简短的清单:

Atom

在GitHub上打开

Emacs

吉特链接

崇高的文本

GitLink

Vim

gitlink-vim


命令

Git -link - Git子命令,用于获取到Git对象的存储库浏览器链接 ghwd -打开与shell当前分支和工作目录匹配的GitHub URL

链接到GitHub维基页面上的行号

我在寻找如何链接到GitHub维基页面上的特定位置时遇到了一些麻烦,最终找到了这个。这可能是常识,但我不知道,其他人可能会发现它有用。

浏览wiki文件时,您可以将鼠标放在特定的标题文本上,链接图标就会出现。单击此链接图标,您的浏览器导航URL将被更新(例如:https://github.com/user/repository/wiki/Test#title-1)。这将是到wiki文件中特定位置的链接。