我知道我可以链接到GitHub存储库上文件的特定行号(我相信我以前见过这个)…
我该怎么做呢?
单击行号,然后从地址栏复制并粘贴链接。若要选择一个范围,请单击该数字,然后单击后面的数字。
或者,链接是一种相对简单的格式,只需将#L<number>附加到特定行号的末尾,使用到文件的链接。下面是指向git存储库README的第三行的链接:
#L<number>
git
README
https://github.com/git/git/blob/master/README#L3
不要只是链接到行号!一定要使用规范的URL。否则,当该文件更新时,URL将指向错误的行!
如何让一个永久的链接到正确的行:
单击你想要的行号(如第18行),浏览器中的URL将在末尾附加#L18。你直接点击左边的18,而不是代码行。看起来是这样的:
#L18
18
现在你的浏览器URL看起来是这样的:
https://github.com/git/git/blob/master/README.md?plain=1#L18
如果您想选择多行,只需按住转变键并单击第二个行号,如第20行。看起来是这样的:
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散列,而不是master上文件的当前版本。这意味着该链接将永远工作,而不指向该文件未来版本可能包含的任何内容的第18-20行。
master
现在沐浴在新的永久链接的光辉中吧。: -)
正如watashiSHUN所指出的,GitHub现在通过在左侧提供...菜单,在你选择一个或多个行后,更容易获得永久链接。请参见watashiSHUN的回答。
...
举个例子——在上面的例子中,我提到了“README"URL中的文件。在编写这个答案时,那些非规范的url实际上是有效的。但现在这些url不再工作,因为README被移动到README.md。但是带有SHA-1散列的规范URL仍然可以工作,正如预期的那样。
README.md
有些文件是“可渲染”的,比如Markdown文件。GitHub需要?plain=1来显示它们的内容,而不是渲染。
?plain=1
许多编辑器(但也参见下面的命令部分)支持链接到GitHub或Bitbucket(或其他)上的文件行号或范围。以下是一个简短的清单:
在GitHub上打开
git-link
GitLink
gitlink-vim
< em >气息。Seib 有一个复杂的答案,但我只是想指出,而不是按Y获得永久链接,GitHub现在有一个非常简单的UI,帮助你实现它。
通过单击行号选择一行或通过按下转变选择多行(与在文件资源管理器中选择多个文件夹相同):
在你选择的第一行的右上角,展开...并单击复制永久链接
https://github.com/python/cpython/blob/c82b7f332aff606af6c9c163da75f1e86514125e/Doc/Makefile#L1-L4
看到的:
您可以使用永久链接在问题、pr等中包含代码片段。
引用:
创建一个到代码段的永久链接 .
与如何将GitHub存储库的README.md文件链接到特定行数的代码相关
有三种情况:
https://github.com/username/projectname/blob/b8d94367354011a0470f1b73c8f135f095e28dd4/file.txt#L10
https://github.com/username/projectname/blob/master/file.txt#L10
用于拉取请求中的一行。
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。
R
L
来自:生成行指针URL到Github拉请求
我在寻找如何链接到GitHub维基页面上的特定位置时遇到了一些麻烦,最终找到了这个。这可能是常识,但我不知道这个,其他人可能会发现它有用。
浏览wiki文件时,您可以将鼠标放在特定的标题文本上,链接图标就会出现。单击此链接图标,您的浏览器导航URL将被更新(例如:https://github.com/user/repository/wiki/Test#title-1)。这将是到wiki文件中特定位置的链接。
https://github.com/user/repository/wiki/Test#title-1
如果你想获得降价代码片段的预览呈现,在复制了另一个答案中提到的链接后,从链接中删除?plain=1参数。
例如,下面将显示一个纯文本链接:
github.com/<organization>/<repository>/blob/<branch_name>/README.md?plain=1#L14
在删除?plain=1参数后,它将显示代码的预览:
github.com/<organization>/<repository>/blob/<branch_name>/README.md#L14
更多信息请参见GitHub文档:创建到代码片段的永久链接。