Skip to main content

Git Large File Storageについて

GitHub では、リポジトリで許可されるファイルのサイズが制限されます。 この制限を超えてファイルを追跡するには、 Git 大容量ファイルストレージを使用できます。

Git 大容量ファイルストレージ の概要

Git LFS は、リポジトリにファイルへの参照を格納することによって大きなファイルを処理しますが、実際のファイル自体は処理しません。 Git のアーキテクチャを回避するために、 Git LFS は実際のファイルへの参照として機能するポインター ファイルを作成します (他の場所に格納されます)。 GitHub は、リポジトリ内のこのポインター ファイルを管理します。 リポジトリを複製すると、 GitHub はポインター ファイルをマップとして使用して、大きなファイルを見つけます。

Git LFS プランに応じて、GitHubの最大サイズ制限が異なります。

製品ファイルの最大サイズ
GitHub Free2 GB
GitHub Pro2 GB
GitHub Team4 GB
GitHub Enterprise Cloud5 GB

ファイルあたりの制限である 5 GB を超えると、ファイルは Git LFS によって拒否され、エラー メッセージが表示されます。

Git LFS で GitHub Desktopを使用することもできます。 GitHub Desktopでの Git LFS リポジトリの複製の詳細については、「GitHubからのGitHub Desktopへのリポジトリのクローン方法」を参照してください。

Git LFS がリポジトリ用に作成する ZIP ファイルや tarball などのソース コード アーカイブに GitHub オブジェクトが含まれるかどうかを選択できます。 詳しくは、「リポジトリのアーカイブで Git LFS オブジェクトを管理する」をご覧ください。

ポインタファイルのフォーマット

Git LFSのポインター ファイルは次のようになります。

version https://git-lfs.github.com/spec/v1
oid sha256:4cac19622fc3ada9c0fdeadb33f88f367b541f38b89102a3f1261ac81fd5bcb5
size 84977953

使用しているversionのGit LFSを追跡し、その後にファイルの一意の識別子(oid)が続きます。 また、最終的なファイルの size も格納されます。

メモ

* Git LFS は、 GitHub Pages サイトでは使用できません。 * Git LFS テンプレート リポジトリでは使用できません。

参考資料