このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2021-06-09. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの改善、新機能のためには、最新バージョンのGitHub Enterpriseにアップグレードしてください。 アップグレードに関する支援については、GitHub Enterprise supportに連絡してください。

Enterprise 向けの Git Large File Storage を設定する

Git Large File Storage (Git LFS) は Git のオープンソース拡張で、大きいファイルを他のテキストファイルと同じように扱えるようにしてくれます。

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リポジトリがホストされているのと同じサーバーに保存します。 GitHub Enterprise ServerのインスタンスでGit LFSが有効化されている場合、大きなアセットは/data/user/storageにあるデータパーティションに保存されます。

EnterpriseもしくはリポジトリでGit LFSが無効化されている場合、ユーザはGit LFSアセットをGitHub Enterprise Serverにプッシュできません。

詳しい情報については"Git Large File Storageについて"、"大きなファイルのバージョニング" 、Git Large File Storageプロジェクトサイトを参照してください。

Enterprise 向けに Git Large File Storage を設定する

  1. https://HOSTNAME/enterprises/ENTERPRISE-NAMEにアクセスしてEnterpriseアカウントに移動してください。HOSTNAMEはインスタンスのホスト名で、ENTERPRISE-NAMEはEnterpriseアカウント名で置き換えてください。
  1. Enterpriseアカウントのサイドバーで、 Settings(設定)をクリックしてください。 Enterpriseアカウントサイドバー内の設定タブ

  2. " Settings(設定)"の下で、Options(オプション)をクリックしてください。 Enterpriseアカウント設定サイドバー内のオプションタブ

  3. [Git LFS access]で、ドロップダウンメニューを使用して [Enabled] または [Disabled] をクリックします。 Git LFSアクセス

個々のリポジトリ用に Git Large File Storage を設定する

ノート: 各リポジトリは、そのリポジトリを所有するOrganizationもしくはユーザのデフォルト設定を自動的に継承します。 リポジトリのオーナーが、所有するすべてのリポジトリに対して設定を強制している場合、デフォルト設定は上書きできません。

  1. GitHub Enterprise Serverの管理アカウントから、任意のページの右上にあるをクリックしてください。 サイトアドミン設定にアクセスするための宇宙船のアイコン
  2. 検索フィールドでリポジトリ名を入力し、Search(検索)をクリックしてください。 [Site admin settings search] フィールド
  3. 検索結果で、リポジトリ名をクリックしてください。 サイドアドミン設定の検索オプション
  4. ページの右上から Admin(管理)をクリックしてください。 管理ツール
  5. 左のサイドバーで Admn(管理)をクリックしてください。 管理ツール
  6. "Git LFS"の下で、Enable(有効化)もしくはDisable(無効化)をクリックしてください。 無効化ボタン

ユーザーアカウントまたは Organization が所有するすべてのリポジトリ用に Git Large File Storage を設定する

  1. GitHub Enterprise Serverの管理アカウントから、任意のページの右上にあるをクリックしてください。 サイトアドミン設定にアクセスするための宇宙船のアイコン
  2. 検索フィールドでユーザもしくはOrganizationの名前を入力し、Search(検索)をクリックしてください。 [Site admin settings search] フィールド
  3. 検索結果で、ユーザもしくはOrganizationの名前をクリックしてください。 サイドアドミン設定の検索オプション
  4. ページの右上から Admin(管理)をクリックしてください。 管理ツール
  5. 左のサイドバーで Admn(管理)をクリックしてください。 管理ツール
  6. "Git LFS"の下で、Enable(有効化)もしくはDisable(無効化)をクリックしてください。 無効化ボタン

サードパーティのサーバを使うGit Large File Storageの設定

デフォルトでは、 Git Large File Storageクライアントは大きなアセットをGitリポジトリがホストされているのと同じサーバーに保存します。 GitHub Enterprise ServerのインスタンスでGit LFSが有効化されている場合、大きなアセットは/data/user/storageにあるデータパーティションに保存されます。

EnterpriseもしくはリポジトリでGit LFSが無効化されている場合、ユーザはGit LFSアセットをGitHub Enterprise Serverにプッシュできません。

  1. GitHub Enterprise Serverのインスタンス で Git LFS を無効化します。 詳しい情報については、「Enterprise の Git Large File Storage を設定する」を参照してください。

  2. サードパーティのサーバーを指し示す Git LFS の設定ファイルを作成します。

    # デフォルト設定を表示
    $ 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)
     
    # サードパーティサーバーを指す .lfsconfig を作成します。
    $ 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)
     
    # .lfsconfig の内容を表示する
    $ cat .lfsconfig
    [remote "origin"]
    lfsurl = https://THIRD-PARTY-LFS-SERVER/path/to/repo
  3. 各ユーザーに対して同じ Git LFS の設定を維持するには、カスタムの .lfsconfig ファイルをリポジトリにコミットします。

    $ git add .lfsconfig
    $ git commit -m "Adding LFS config file"
  4. 既存の Git LFS アセットを移行します。 詳しい情報については、「異なる Git Large File Storage サーバーへ移行する」を参照してください。

異なるGit Large File Storageサーバへの移行

別の Git Large File Storage サーバーに移行する前に、サードパーティのサーバーを使用するように Git LFS を設定する必要があります。 詳細については、「サードパーティのサーバーを使用するための Git Large File Storage を設定する」を参照してください。

  1. 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)
  2. 古いリモートからすべてのオブジェクトを取得します。

    $ 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
  3. すべてのオブジェクトを新しいリモートにプッシュします。

    $ 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

参考リンク

問題がまだ解決していませんか?

GitHubコミュニティで質問するサポートへの連絡