在gitlab wiki中的给定提交处引用存储库文件

时间:2017-03-22 23:50:10

标签: gitlab

Gitlab Markdown支持对存储库结构中的文件的引用,例如:

[README](doc/README)

[README](doc/README#L13)

但是有没有办法在这些文件中引用文件和行,但是从给定的提交中,至少在Wiki中?

可能是这样的:

[README](1ab3fa71:doc/README#L13)

或使用文件哈希ID,如:

[README](9a27b101#L13)

4 个答案:

答案 0 :(得分:1)

也许在战斗结束后很久,但我找到了解决方法:只需链接到README.md所在的页面即可。那就是它!

要获取链接,只需转到显示文档的页面,复制URL,指向该地址的链接,在#L附加行号。

例如:

  

[Readme Pelargos](http://192.168.80.250:10080/project-root/android/Pelargos/blob/develop/README.md#L47)

答案 1 :(得分:1)

根据Gitlab's documentation(v11.5),正式支持从Wiki到存储库使用相对链接(反之亦然):

  

注意:相对链接不允许引用Wiki页面或项目文件中的Wiki页面中的项目文件。原因是,在GitLab中,Wiki始终是一个单独的Git存储库。例如,我是一个引用样式的链接,当该链接位于wiki markdown文件中时,会将链接指向wiki / style。

但是,目前有一种语法似乎可以使用:

[[README|/../blob/1ab3fa71/doc/README#L13]]

但是请注意:同一段落的所有文本都将丢失!

我通过这样的措辞来解决此问题,至少至少对 Gitlab CE v11.3.0 而言如此:

Here you see xyz:
* [[README|/../blob/1ab3fa71/doc/README#L13]]

根锚链接(/../blob/<version>/<path-to-file>)确保该链接可在每个Wiki页面上独立于其嵌套深度使用。 当然,此语法也适用于分支名称或任何其他相对链接,例如/../tree/1ab3fa71/doc

答案 2 :(得分:1)

我发现在大多数情况下有效的一种方法是将鼠标悬停在您要在相关文件中引用的代码行上。执行此操作时,单击左侧装订线中显示的链接图标以复制线参考。复制后,您可以在复制的 URI 中使用稍微修改过的路径版本。

以下是使用装订线图标复制的链接示例:

https://gitlab.com/settermjd/mezzio-sms-sender-api/-/blob/main/src/App/src/Handler/SMSReplyHandler.php#L23

这是我在提交中使用的修订路径。请注意 main/ 之前的父目录引用:

/../main/src/App/src/Handler/SMSReplyHandler.php#L23

答案 3 :(得分:0)

我意识到gitlab wiki中的文件引用,引用来自wiki存储库本身的文件,而不是来自项目存储库(源代码存储库)。

但是,当您引用哈希时,它会知道哈希是指引用还是文件,因此您可以从项目存储库中引用特定文件。