Git Large File Storageについて
Git Large File Storage (Git LFS) は Git のオープンソース拡張で、大きいファイルを他のテキストファイルと同じように扱えるようにしてくれます。 Git Large File Storage は、単一のリポジトリ、すべての個人または Organization のリポジトリ、または Enterprise 内のすべてのリポジトリで使用できます。 特定のリポジトリまたは Organization に対して Git LFS を有効にする前に、Enterprise に対して Git LFS を有効にする必要があります。
既定では、Git Large File Storage クライアントは大きなアセットを Git リポジトリをホストしているのと同じサーバーに保存します。 で Git LFS が有効化されている� �合、大きなアセットは /data/user/storage
にあるデータ パーティションに保存されます。
EnterpriseもしくはリポジトリでGit LFSが無効化されている� �合、ユーザはGit LFSアセットをGitHub Enterprise Serverにプッシュできません。
詳細については、「Git Large File Storage について」、「Large File のバージョン管理」、Git Large File Storage プロジェクト サイトを参照してく� さい。
Enterprise 向けに Git Large File Storage を設定する
- GitHub Enterprise Server の右上で、ご自分のプロファイル写真をクリックしてから、 [Enterprise 設定] をクリックします。 1. Enterprise サイドバーで、 [ポリシー] をクリックします。 1. [ポリシー] で、 [オプション] をクリックします。
- [Git LFS アクセス] で、ドロップダウン メニューを使用して、 [有効] または [無効] をクリックします。
個々のリポジトリ用に Git Large File Storage を設定する
注: 各リポジトリは、それを所有する組織またはユーザーから既定の設定を自動的に継承します。 リポジトリのオーナーが、所有するすべてのリポジトリに対して設定を強制している� �合、デフォルト設定は上書きできません。
-
GitHub Enterprise Server の管理アカウントから、任意のページの右上隅の をクリックします。
-
[サイト管理者] ページにま� 表示されていない� �合は、左上隅の [サイト管理者] をクリックします。
1. 検索フィールドにリポジトリの名前を入力し、 [検索] をクリックします。 1. 検索結果で、リポジトリ名をクリックしてく� さい。 1. ページの右上隅にある [管理者] をクリックします。 1. 左側のサイドバーで、 [管理者] をクリックします。 1. "Git LFS" で、 [有効] または [無効] をクリックします。
ユーザーアカウントまたは Organization が所有するすべてのリポジトリ用に Git Large File Storage を設定する
-
GitHub Enterprise Server の管理アカウントから、任意のページの右上隅の をクリックします。
-
[サイト管理者] ページにま� 表示されていない� �合は、左上隅の [サイト管理者] をクリックします。
1. 検索フィールドに、ユーザーまたは組織の名前を入力し、 [検索] をクリックします。 1. 検索結果で、ユーザもしくはOrganizationの名前をクリックしてく� さい。 1. ページの右上隅にある [管理者] をクリックします。 1. 左側のサイドバーで、 [管理者] をクリックします。 1. "Git LFS" で、 [有効] または [無効] をクリックします。
サードパーティのサーバを使うGit Large File Storageの設定
既定では、Git Large File Storage クライアントは大きなアセットを Git リポジトリをホストしているのと同じサーバーに保存します。 で Git LFS が有効化されている� �合、大きなアセットは /data/user/storage
にあるデータ パーティションに保存されます。
EnterpriseもしくはリポジトリでGit LFSが無効化されている� �合、ユーザはGit LFSアセットをGitHub Enterprise Serverにプッシュできません。
-
で 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