如何永久链接到GitHub中的行号?

时间:2017-07-17 20:17:47

标签: git github hyperlink line-numbers

链接到GitHub中的行号非常简单:单击该行可编辑URL以指向该行,以便我们共享。

但是,如果文件随新提交更改,则行号可能会偏移,这会使现有链接呈现不准确和混乱。

如何永久链接到GitHub中的一行代码?我经常遇到代码更改的旧链接。

然而,我发现我可以选择提交的差异并链接到这样的差异,例如,line 150 base.py String[] arguments= new String[]{"-a","1","-b","2","-c","3","-d","4","-e","5"}; HashMap<String, String> params = new HashMap<>(); IntStream.iterate(0, i -> i + 2) .limit(arguments.length / 2) .parallel() .forEach(i -> params.put(arguments[i], arguments[i + 1])); System.out.println(params.size()); https://github.com/deepmind/sonnet/commit/60be2bb4ccd74230285c1c822452a99558915c50#diff-62bce8ca7517a19cdfdee428fc985bf1R150

但我认为链接到特定的提交是令人困惑的(或有点矫枉过正),因为提交可能根本不涉及我想在文件中指向的内容。

有人会有更简洁的方式链接到GitHub中的行号吗? (例如:指向特定文件版本而不是提交将是更清洁的IMO)

2 个答案:

答案 0 :(得分:2)

你可以链接到提交的树而不是它的差异,获取此链接的最简单方法是GitHub的永久链接键盘快捷键:单击分支树上的行后按 Y

如果您想从提交而不是分支到达,请使用标题中的“浏览文件”按钮。

要手动构建它,路径为:

/blob/<hash>/<path...>#L<line>

完成您的示例链接:

https://github.com/deepmind/sonnet/blob/60be2bb4ccd74230285c1c822452a99558915c50/sonnet/python/modules/base.py#L150

答案 1 :(得分:1)

这几乎是不可能的。

您可以获得的最接近的是指向特定参考,例如通过单击提交中的“浏览文件”:

https://github.com/deepmind/sonnet/blob/60be2bb/sonnet/python/modules/base.py#L150

更简洁的解决方案可能是链接到特定标记,假设它包含您的提交:

https://github.com/deepmind/sonnet/blob/v1.6/sonnet/python/modules/base.py#L150

但是,在某些情况下,您确实会从存储库的历史记录中删除该提交。但是,在维护良好的公共存储库中,提交引用和标记应该提供合适的链接。