我知道我可以链接到GitHub存储库上文件的特定行号(我相信我以前见过这个)…
我该怎么做呢?
我知道我可以链接到GitHub存储库上文件的特定行号(我相信我以前见过这个)…
我该怎么做呢?
单击行号,然后从地址栏复制并粘贴链接。若要选择一个范围,请单击该数字,然后单击后面的数字。
或者,链接是一种相对简单的格式,只需将#L<number>附加到特定行号的末尾,使用到文件的链接。这是git仓库README的第三行链接:
https://github.com/git/git/blob/master/README#L3
不要只是链接到行号!一定要使用规范的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来显示它们的内容,而不是渲染。
许多编辑器(但也参见下面的命令部分)支持链接到GitHub或Bitbucket(或其他)上的文件行号或范围。以下是一个简短的清单:
Atom
在GitHub上打开
Emacs
吉特链接
崇高的文本
GitLink
Vim
gitlink-vim
命令
Git -link - Git子命令,用于获取到Git对象的存储库浏览器链接 ghwd -打开与shell当前分支和工作目录匹配的GitHub URL
气息。seib有一个复杂的答案,但我只是想指出,而不是按Y来获得永久链接,GitHub现在有一个非常简单的UI,帮助你实现它。
通过单击行号选择一行或通过按住Shift选择多行(与在文件资源管理器中选择多个文件夹的方式相同): 在选中的第一行的右上角,展开…然后单击“复制永久链接” 就是这样。一个包含选定行和提交散列的链接被复制到你的剪贴板: https://github.com/python/cpython/blob/c82b7f332aff606af6c9c163da75f1e86514125e/Doc/Makefile#L1-L4
有关如何链接到README。md文件的GitHub存储库到特定行数的代码
有三种情况:
We can link to (custom commit) But Link will always link to an old file version, which will not contain new updates in the master branch for example. Example: https://github.com/username/projectname/blob/b8d94367354011a0470f1b73c8f135f095e28dd4/file.txt#L10 We can link to (custom branch) like (master-branch). But the link will always link to the latest file version which will contain new updates. Due to new updates, the link may point to an invalid business line number. Example: https://github.com/username/projectname/blob/master/file.txt#L10 GitHub can not make an auto-link to any file either to (custom commit) nor (master-branch). Because of following business issues: line business meaning, to link to it in the new file length of target highlighted code which can be changed
用于拉取请求中的一行。
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维基页面上的行号
我在寻找如何链接到GitHub维基页面上的特定位置时遇到了一些麻烦,最终找到了这个。这可能是常识,但我不知道,其他人可能会发现它有用。
浏览wiki文件时,您可以将鼠标放在特定的标题文本上,链接图标就会出现。单击此链接图标,您的浏览器导航URL将被更新(例如:https://github.com/user/repository/wiki/Test#title-1)。这将是到wiki文件中特定位置的链接。
如果您想要获得Markdown代码片段的预览呈现,在复制另一个答案中提到的链接之后,从链接中删除?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文档:创建到代码片段的永久链接。