如何链接到github上的特定行号

我知道我可以链接到一个特定的行号在一个文件上的github回购(我相信我以前见过这个)…

有人能告诉我如何做到这一点?

不要只链接到行号! 请务必使用规范url 。 否则,当该文件更新时,您将有一个指向错误的行的URL!

如何使正确的线路永久链接:

点击你想要的行号(如第18行),浏览器中的URL就会得到一个#L18 。 你从字面上点击左边的18 ,而不是代码行。 看起来像这样:

第18行被选中

现在你的浏览器的URL如下所示:

 https://github.com/git/git/blob/master/README#L18 

如果您想要select多行,只需按住shift键并单击第20行,如第20行。看起来像这样:

在这里输入图像说明

现在你的浏览器的URL如下所示:

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

这是重要的部分:

现在通过按y键来获得该特定提交的规范url。 您浏览器中的url将会变成如下所示:

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

该链接包含特定提交的实际SHA哈希,而不是master文件上的当前版本。 这意味着这个链接将永远起作用,而不是指向该文件的将来版本可能包含的行18-20。

现在沐浴在新的永久链接的光辉中。 😉

更新9/29/2017:正如@watashiSHUN指出的那样,github现在通过在select一行或多行后在左边提供一个...菜单,可以更容易地获得永久链接。 请upvote @ watashiSHUN的答案。

GitHub固定链接菜单

更新3/25/2016:在上面的例子中,我提到了URL中的“README”文件。 这个答案写的时候,那些非规范的url实际上是工作的。 但是现在这些url已经不能工作了,因为README被移到了README.md 。 但是,带有SHA哈希的规范URL仍然可以正常工作。

点击行号,然后复制并粘贴地址栏中的链接。 要select一个范围,请点击该号码,然后点击稍后的号码。

或者,链接是一个相对简单的格式,只需要使用指向该文件的链接将#L<number>到该特定行号的末尾即可。 下面是git仓库README的第三行的链接:

https://github.com/git/git/blob/master/README#L3

屏幕高亮显示的行和修改后的地址行

@ broc.seib有一个复杂的答案, 我只想指出,而不是按y获得永久链接,github现在有一个非常简单的用户界面,可以帮助你实现它

  1. 通过点击行号来select行,或者按住shift键select多行(与在文件pipe理器中select多个文件夹的方式相同) 在这里输入图像说明

  2. 在您select的第一行的右上angular,展开...并单击copy permalink 在这里输入图像说明

  3. 就是这样,链接选定的行和提交散列复制到剪贴板https://github.com/python/cpython/blob/c82b7f332aff606af6c9c163da75f1e86514125e/Doc/Makefile#L1-L4 : https://github.com/python/cpython/blob/c82b7f332aff606af6c9c163da75f1e86514125e/Doc/Makefile#L1-L4

许多编辑器(但也见下面的命令部分)支持链接到GitHub或BitBucket(或其他)上的文件行号或范围。 这里有一个简短的列表:

primefaces

在GitHub上打开

Emacs的

git的链接

崇高的文本

GitLink

VIM

gitlink-VIM


命令

  • git-link – Git子命令,用于获取到git对象的repo-browser链接
  • ghwd – 打开与shell的当前分支和工作目录相匹配的github URL