是否有一种方法来创建一个URL锚,< >,链接从Markdown文件,到同一存储库和分支中的另一个文件(又名相对于当前分支的链接)?

例如,在主分支中,我有一个README。md文件,我想做的事情如下:

# My Project
is really really cool. My Project has a subdir named myLib, see below.

## myLib documentation
see documentation [here](myLib/README.md)

这将允许我在同一个分支中从一个.md链接到另一个,而不必担心我在哪个分支(避免必须做一个包含github.com分支名称的绝对URL)。

这里有一个例子来说明我的意思:

GOTO http://github.com/rynop/testRel,链接不工作。 GOTO http://github.com/rynop/testRel/blob/master/README.md,链接有效。

这是意料之中的,因为此时起始URL在分支中。现在我如何让它在README中拾取当前的分支。Md在存储库的根?

更新:我针对这个功能请求在GitHub上打开了一个问题。


当前回答

如果你想要一个相对链接到你的GitHub上的维基页面,使用这个:

Read here: [Some other wiki page](path/to/some-other-wiki-page)

如果你想要一个链接到存储库中的一个文件,比如说,引用一些头文件,而wiki页面位于wiki的根,使用这个:

Read here: [myheader.h](../tree/master/path/to/myheader.h)

最后一种方法的基本原理是用“..”跳过“/wiki”路径。,然后转到存储库树中的主分支,而不指定存储库名称(将来可能会更改)。

其他回答

以下是我在github的.md文件中找到的相对链接:

相对链接没有../(又名。链接到同一级别的文件,或在子目录),似乎总是工作。 包含..的相对链接只有当你已经在一个url包含子字符串/blob/的页面时,/才会起作用。 否则需要使用包含/blob/的完整url来链接。 实际上除了顶级/README。Md,当查看任何其他文件时,它们的url已经包含/blob/。 因此你可能总是可以使用包含..的相对链接。除了/README.md。 但/ README。Md是顶级的,因此它不需要包含../的相对链接。 因此,你不应该需要一个完整的路径链接(包含github域)链接到同一github repo文件。


示例(多种语言文档之间的链接)

在/ README。Md,可以使用相对链接没有../。 [中文](doc/cn/README.md) | [日本語](doc/jp/README.md) 在/ doc / cn/README。Md,因为当我们查看它时,url已经包含/blob/,因此可以使用相对链接与../。 (英语)(. . / . . / README.md) | [日本語](../jp/README.md)

(顺便说一下,这个例子来自这个git-merge-flow回购。)

我不确定我是否看到了这个选项。你可以在你的存储库中创建一个/文件夹,并直接使用它:

[a relative link](/folder/myrelativefile.md)

不需要blob或树或存储库名称,它的工作就像一个魅力。

GitHub可以用最少的工作让它变得更好。这里有一个变通办法。

我觉得你想要的是

[Your Title](your-project-name/tree/master/your-subfolder)

或者指向README本身

[README](your-project-name/blob/master/your-subfolder/README.md)

你可以链接到文件,但不能链接到文件夹,并记住,Github将添加/blob/master/在你的相对链接之前(和文件夹缺乏这部分,所以他们不能被链接,也不能与HTML < >标签或Markdown链接)。

因此,如果我们在myrepo/src/Test.java中有一个文件,它将有一个这样的url:

https://github.com/WesternGun/myrepo/blob/master/src/Test.java

要在自述文件中链接它,我们可以使用:

[This is a link](src/Test.java)

or: <a href="src/Test.java">这是一个链接</a>. java

(我猜,master代表主分支,当文件在另一个分支中时,情况就不同了。)

在.md文件中,当您想要创建与同一项目文件夹或基于URL的链接相关的任何相关文件的链接时:

现有文件链接:

在.md文件中,在[]框中添加显示名称,然后在此框中打开(),在此框中添加/之后,它将自动获取所有现有文件夹的名称形式,您选择的文件夹,然后添加'/',它将显示内部文件或'文件夹'。这意味着它将自动获取路径,在结束时,创建您的URL。

例子:

[Enter Showing Name](/users/4000266/heysushil)

这一行是这样显示的: 输入显示名称

在.md文件中添加url

遵循相同的过程,只更改()框的URL路径,如下所示:

 [HeySushil - YouTube](https://youtube.com/heysushil)

这看起来像HeySushil - YouTube

注意:记住在添加/ on()框后不需要手动添加force,它将自动获取所有现有的文件夹和文件。