所有人。
我使用GIT LFS(大文件存储)将一个大文件上传到gitub。
首先,我可以从直接链接下载文件。
raw.githubusercontent.com/userName/reposiotry/master/file.mp4
但是第二天文件开始包含文本值
version https://git-lfs.github.com/spec/v1
oid sha256:59f24bc922e1a48bb3feeba18b23f0e9622a7ee07166d925650d7a933283f8b1
size 123882252
如何下载此文件?如何直接链接到它?
答案 0 :(得分:1)
您需要进入Web界面并找到文件的原始链接,然后改用它。
当您使用Git LFS时,实际上存储在存储库中的文件就是一个指针文件,就像您在上面看到的那样。 GitHub具有不同的URL,可为存储库内容和Git LFS文件提供原始内容,因此,如果要获取Git LFS内容,则需要使用适当的链接。如果您以前将文件作为非LFS文件使用,那么当您再次将其作为LFS文件上传时,URL将会更改。
不建议使用网页中的URL或以CDN形式使用直接链接。
答案 1 :(得分:1)
引用article,
存储配额
如果在不购买数据包的情况下使用了超过1 GB的存储,您仍然可以克隆具有大量资产的存储库,但是您将仅检索指针文件,而无法将新文件备份。 / p>
我假设您尚未在GitHub上为git lfs购买任何其他存储。如您所说,最初您可以通过以下链接访问它:http://raw.githubusercontent.com/userName/reposiotry/master/file.mp4
我猜测您上传了更多此类文件,导致您超出了存储配额(即1 GB)。正如上面的文章所指出的,只有超出配额后,您才可以检索指针文件。
您可以在此处https://github.com/settings/billing
检查是否超出了存储配额的限制。但是,如果我的假设是错误的,那么您可以尝试使用此链接获取文件
https://media.githubusercontent.com/media/user_name/repository_name/branch_name/file_name
答案 2 :(得分:0)
今天我一直在寻找相同的答案,但没有找到足以解决问题的具体方法,所以我自己进行挖掘,发现了这一点:
例如,假设ServerAddres是https://api.github.com
:
ServerAddres + '/repos/RepoName/git/blobs/FileHash'
version https://git-lfs.github.com/spec/v1
oid sha256:59f24bc922e1a48bb3feeba18b23f0e9622a7ee07166d925650d7a933283f8b1
size 123882252
ServerAddres + '/repos/RepoName/contents'
{
"name": "filename.ext",
"path": "path/filename.ext",
"sha": "FileHash",
"size": 42,
"url": "https://api.github.com/repos/RepoName/contents/path/filename.ext?ref=master",
"html_url": "...",
"git_url": "...",
"download_url": "...",
"type": "file",
"_links": { ... }
}
url
的值,并取值,{
"name": "filename.ext",
"path": "path/filename.ext",
"sha": "FileHash",
"size": 720896,
"url": "...",
"html_url": "...",
"git_url": "...",
"download_url": "https://media.githubusercontent.com/media/RepoName/RepoHash/path/filename.ext?token=...",
"type": "file",
"content": "...", // same as response from pt. 1
"encoding": "base64",
"_links": { ... }
}
download_url
的值,并取值,BINARY
个文件内容。 就是这样。