Git Large File Storageについて
Git Large File Storage (Git LFS) は Git のオープンソース拡張で、大きいファイルを他のテキストファイルと同じように扱えるようにしてくれます。 You can use Git Large File Storage with a single repository, all of your personal or organization repositories, or with every repository in your enterprise. Before you can enable Git LFS for specific repositories or organizations, you need to enable Git LFS for your enterprise.
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プロジェクトサイトを参照してください。
Configuring Git Large File Storage for your enterprise
- 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.
-
Disable Git LFS on your GitHub Enterprise Server instance. For more information, see "Configuring Git Large File Storage for your enterprise."
-
サードパーティのサーバーを指し示す 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サーバへの移行
Before migrating to a different Git Large File Storage server, you must configure Git LFS to use a third party server. For more information, see "Configuring Git Large File Storage to use a third party server."
-
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