Git Large File Storageについて
Git Large File Storage (Git LFS) は Git のオープンソース拡張で、大きいファイルを他のテキストファイルと同じように扱えるようにしてくれます。 Git Large File Storage は、単一のリポジトリ、すべての個人または Organization のリポジトリ、または Enterprise 内のすべてのリポジトリで使用できます。 特定のリポジトリまたは Organization に対して Git LFS を有効にする前に、Enterprise に対して Git LFS を有効にする必要があります。
By default, the
Git Large File Storage client stores large assets on the same server that hosts the Git repository. When Git LFS is enabled on your GitHub Enterprise Server instance, large assets are stored on the data partition in /data/user/storage
.
Users cannot push Git LFS assets to GitHub Enterprise Server if Git LFS is disabled on the enterprise or repository.
詳しい情報については"Git Large File Storageについて"、"大きなファイルのバージョニング" 、Git Large File Storageプロジェクトサイトを参照してください。
Enterprise 向けに Git Large File Storage を設定する
- Navigate to your enterprise account by visiting
https://HOSTNAME/enterprises/ENTERPRISE-NAME
, replacingHOSTNAME
with your instance's hostname andENTERPRISE-NAME
with your enterprise account's name.
-
Enterpriseアカウントのサイドバーで、 Settings(設定)をクリックしてください。
-
Under " Settings", click Options.
-
[Git LFS access]で、ドロップダウンメニューを使用して [Enabled] または [Disabled] をクリックします。
個々のリポジトリ用に Git Large File Storage を設定する
ノート: 各リポジトリは、そのリポジトリを所有するOrganizationもしくはユーザのデフォルト設定を自動的に継承します。 リポジトリのオーナーが、所有するすべてのリポジトリに対して設定を強制している場合、デフォルト設定は上書きできません。
- From an administrative account on GitHub Enterprise Server, click in the upper-right corner of any page.
- 検索フィールドでリポジトリ名を入力し、Search(検索)をクリックしてください。
- 検索結果で、リポジトリ名をクリックしてください。
- In the upper-right corner of the page, click Admin.
- 左のサイドバーで Admn(管理)をクリックしてください。
- "Git LFS"の下で、Enable(有効化)もしくはDisable(無効化)をクリックしてください。
ユーザーアカウントまたは Organization が所有するすべてのリポジトリ用に Git Large File Storage を設定する
- From an administrative account on GitHub Enterprise Server, click in the upper-right corner of any page.
- 検索フィールドでユーザもしくはOrganizationの名前を入力し、Search(検索)をクリックしてください。
- 検索結果で、ユーザもしくはOrganizationの名前をクリックしてください。
- In the upper-right corner of the page, click Admin.
- 左のサイドバーで Admn(管理)をクリックしてください。
- "Git LFS"の下で、Enable(有効化)もしくはDisable(無効化)をクリックしてください。
サードパーティのサーバを使うGit Large File Storageの設定
By default, the
Git Large File Storage client stores large assets on the same server that hosts the Git repository. When Git LFS is enabled on your GitHub Enterprise Server instance, large assets are stored on the data partition in /data/user/storage
.
Users cannot push Git LFS assets to GitHub Enterprise Server if Git LFS is disabled on the enterprise or repository.
-
your GitHub Enterprise Server instance で Git LFS を無効化します。 詳しい情報については、「Enterprise の Git Large File Storage を設定する」を参照してください。
-
サードパーティのサーバーを指し示す Git LFS の設定ファイルを作成します。
# Show default configuration $ git lfs env > git-lfs/1.1.0 (GitHub; darwin amd64; go 1.5.1; git 94d356c) > git version 2.7.4 (Apple Git-66) > Endpoint=https://GITHUB-ENTERPRISE-HOST/path/to/repo/info/lfs (auth=basic) # Create .lfsconfig that points to third party server. $ git config -f .lfsconfig remote.origin.lfsurl https://THIRD-PARTY-LFS-SERVER/path/to/repo $ git lfs env > git-lfs/1.1.0 (GitHub; darwin amd64; go 1.5.1; git 94d356c) > git version 2.7.4 (Apple Git-66) > Endpoint=https://THIRD-PARTY-LFS-SERVER/path/to/repo/info/lfs (auth=none) # Show the contents of .lfsconfig $ cat .lfsconfig [remote "origin"] lfsurl = https://THIRD-PARTY-LFS-SERVER/path/to/repo
-
各ユーザーに対して同じ Git LFS の設定を維持するには、カスタムの
.lfsconfig
ファイルをリポジトリにコミットします。$ git add .lfsconfig $ git commit -m "Adding LFS config file"
-
既存の Git LFS アセットを移行します。 詳しい情報については、「異なる Git Large File Storage サーバーへ移行する」を参照してください。
異なるGit Large File Storageサーバへの移行
別の Git Large File Storage サーバーに移行する前に、サードパーティのサーバーを使用するように Git LFS を設定する必要があります。 詳細については、「サードパーティのサーバーを使用するための Git Large File Storage を設定する」を参照してください。
-
2 番目のリモートでリポジトリを設定します。
$ git remote add NEW-REMOTE https://NEW-REMOTE-HOSTNAME/path/to/repo $ git lfs env > git-lfs/1.1.0 (GitHub; darwin amd64; go 1.5.1; git 94d356c) > git version 2.7.4 (Apple Git-66) > Endpoint=https://GITHUB-ENTERPRISE-HOST/path/to/repo/info/lfs (auth=basic) > Endpoint (NEW-REMOTE)=https://NEW-REMOTE-HOSTNAME/path/to/repo/info/lfs (auth=none)
-
古いリモートからすべてのオブジェクトを取得します。
$ git lfs fetch origin --all > Scanning for all objects ever referenced... > ✔ 16 objects found > Fetching objects... > Git LFS: (16 of 16 files) 48.71 MB / 48.85 MB
-
すべてのオブジェクトを新しいリモートにプッシュします。
$ git lfs push NEW-REMOTE --all > Scanning for all objects ever referenced... > ✔ 16 objects found > Pushing objects... > Git LFS: (16 of 16 files) 48.00 MB / 48.85 MB, 879.10 KB skipped