web-dev-qa-db-ja.com

GitHub LFS(大ファイルストレージ)のファイルへの直接リンクを取得する方法?

Git LFS(大ファイルストレージ)を使用して大規模ファイルをGITUBにアップロードしました。

最初は直接リンクからファイルをダウンロードできます。

raw.githubusercontent.com/userName/reposiotry/master/file.mp4
 _

しかし、翌日、ファイルはテキスト値を含め始めました

oID SHA256:59F24BC922J1A48BB3FEEBA18B23F0E9622A7EE07166D925650D7A933283F850D7A933283F850D7JJE0733283F850D7A933283F8B1 [。]サイズ123882252 [。]

このファイルをダウンロードする方法それへの直接リンクを入手する方法?

8
I.U.

今日私は同じ答えを探していました、問題を解決するのに十分な具体的なものを見つけなかったので、私は自分で掘り下げてこれを見つけていました:

ServerAddresがhttps://api.github.comの場合は、次のように述べています。

  1. あなたがあなたのreponame( 'username/reposiotryname'ペア)とfilehashをコーンした場合、
    [。]それからあなたは取得します:ServerAddres + '/repos/RepoName/git/blobs/FileHash'
    [。]そしてあなたに応答しているならば:
version https://git-lfs.github.com/spec/v1  
oid sha256:59f24bc922e1a48bb3feeba18b23f0e9622a7ee07166d925650d7a933283f8b1  
size 123882252
  1. matching Filehashをマッチングするためにリポジトリの内容で検索する必要がある
    [。]フェッチ: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": { ... }
}
  1. 今、あなたは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": { ... }
}
  1. 今、あなたはdownload_urlの値を取り、それを取得します、
    [。]に応答して、BINARYファイルの内容があるはずです。

それでおしまい。

1
NevTon

Webインターフェースに入り、ファイルの生のリンクを見つけて、代わりに使用する必要があります。

GIT LFSを使用すると、リポジトリに実際に保存されているファイルは、上記のもののようなポインタファイルです。 GitHubには、リポジトリの内容とGit LFSファイルの生コンテンツを提供するためのさまざまなURLがあります。そのため、Git LFSの内容を取得したい場合は、適切なリンクを使用する必要があります。以前にファイルをLFS以外のファイルとして持っていた場合は、LFSファイルとして再度アップロードしたときにURLが変更されます。

WebページでそれらのURLを使用するか、その他の方法では、それらの直接リンクをCDNの形式として使用することは推奨されません。

1
bk2204

これからの引用 記事

ストレージクォータ

データパックを購入せずに1 GBを超えるストレージを使用する場合は、リポジトリを大きなアセットでクローン作成できますが、ポインタファイルのみを取得します。新しいファイルをバックアップすることはできません。

GithubのGit LFSの追加のストレージを購入していないと仮定しています。あなたが最初にあなたはこのリンクを介してそれにアクセスすることができました:http://raw.githubusercontent.com/userName/reposiotry/master/file.mp4 _

私はあなたがあなたの記憶域クォータI.e 1 Gbを超えたそのようなファイルをより多くアップロードしたと思います。上記の記事で指摘されているように、クォータを超えるとポインタファイルを取得します。

ここであなたのストレージクォータの制限を超えたかどうかを確認できます https://github.com/settings/billing

ただし、仮定が間違っている場合は、このリンクを使用してファイルを取得しようとすることができます。

https://media.githubusercontent.com/media/user_name/repository_name/branch_name/file_name _

1