每当我试图向Github文件添加链接时,我总是注意到这一点。你可以使用blob
来添加一个链接:
https://github.com/facebook/pop/blob/master/Podfile
如果将blob更改为tree
,则会出现相同的文档:
https://github.com/facebook/pop/tree/master/Podfile
有什么区别?每当我想在文档中添加一个链接以供后世参考时,应该选择哪一个?
每当我试图向Github文件添加链接时,我总是注意到这一点。你可以使用blob
来添加一个链接:
https://github.com/facebook/pop/blob/master/Podfile
如果将blob更改为tree
,则会出现相同的文档:
https://github.com/facebook/pop/tree/master/Podfile
有什么区别?每当我想在文档中添加一个链接以供后世参考时,应该选择哪一个?
GitHub的网站目前似乎:
blob
表示文件,使用tree
表示目录;tree
的文件URL的浏览器重定向到包含blob
而不是tree
的URL;以及blob
的目录URL的浏览器重定向到包含tree
而不是blob
的URL。可能在你提问时,GitHub的网站只是重新编写tree
和blob
之间的文件URL,而不是正确地重定向它们。(重新编写和重定向URL是Web服务器的活动。) 如果是这样,那么更改将不会出现在您的浏览器地址栏中。但也许你并不是这个意思。
tree
/ | \
blob tree blob
|
blob
Podfile
是一个包含源代码的文件。因此,它是一个 blob
对象。然而,Git很聪明地意识到了这一点。所以,当你点击链接时,它会将链接中的 tree
改为 blob
。你可以通过点击下面的 tree
链接来尝试和测试一下。
https://github.com/facebook/pop/tree/master/Podfile
同样地,如果你进入一个git仓库中的目录,它就是一个"tree"对象。同样地,如果你将"tree"改为"blob",git会聪明地意识到它实际上是一个目录而不是文件,并将链接中的"blob"改为"tree"。你可以自己尝试和测试这个功能。https://github.com/facebook/pop/blob/master/pop-tests
就要添加到文档中时,要优先选择哪个链接取决于链接指向的内容。基本上,有4种类型的git对象: