GitHub Enterprise Server でのサイズ制限について
GitHub Enterprise Server には、リポジトリで許可されるファイルのサイズに制限があります。 50 MBより大きいファイルを追加または更新しようとすると、Gitから警告が表示されます。 変更は引き続きリポジトリに正常にプッシュされますが、パフォーマンスへの影響を最小限に抑えるためにコミットを削除することを検討してもよいでしょう。 詳しくは、「ファイルをリポジトリの履歴から削除する」をご覧ください。
注: ブラウザーからリポジトリにファイルを追加する場合、そのファイルは 25 MB 以下でなければなりません。 詳細については、「リポジトリにファイルを追加する」を参照してください。
既定では、GitHub Enterprise Server は 100 MB を超えるファイルをブロックします。 ただし、サイト管理者は、your GitHub Enterprise Server instance に対して異なる制限を構成できます。 詳しくは、「Git のプッシュ制限を設定」をご覧ください。
この制限を超えるファイルを追跡するには、Git Large File Storage (Git LFS) を使う必要があります。 詳しくは、「Git Large File Storage について」をご覧ください。
リポジトリ内で大きなファイルを配布する必要がある場合は、ファイルを追跡するのではなく、your GitHub Enterprise Server instance でリリースを作成できます。 詳しくは、「大きなバイナリを配布する」をご覧ください。
Git は、大きい SQL ファイルを処理するようには設計されていません。 大きいデータベースを他の開発者と共有するには、Dropbox を使うことをお勧めします。
ファイルをリポジトリの履歴から削除する
警告: これらの手順を実行すると、ファイルはコンピューターのリポジトリと your GitHub Enterprise Server instance から完全に削除されます。 ファイルが重要なものである場合は、ローカルバックアップコピーをリポジトリ外にあるディレクトリに作成してください。
プッシュされていない直近のコミットで追加されたファイルを削除する
直近のコミットで追加されたファイルを your GitHub Enterprise Server instance にプッシュしていない場合は、ファイルを削除してコミットを修正することができます。
- [ターミナル][ターミナル][Git Bash] を開きます。 1. ワーキングディレクトリをローカルのリポジトリに変更します。
- ファイルを削除するには、「
git rm --cached
」と入力します。$ git rm --cached GIANT_FILE # Stage our giant file for removal, but leave it on disk
--amend -CHEAD
を使って、この変更をコミットします。$ git commit --amend -CHEAD # Amend the previous commit with your change # Simply making a new commit won't work, as you need # to remove the file from the unpushed history as well
- コミットを your GitHub Enterprise Server instance にプッシュします。
$ git push # Push our rewritten, smaller commit
以前のコミットで追加されたファイルを削除する
以前のコミットでファイルを追加した場合は、リポジトリの履歴から削除する必要があります。 リポジトリの履歴からファイルを削除するには、BFG Repo-Cleaner または git filter-branch
コマンドを使用できます。 詳しくは、「機密データをリポジトリから削除する」をご覧ください。
大きなバイナリを配布する
リポジトリ内で大きなファイルを配布する必要がある場合は、your GitHub Enterprise Server instance でリリースを作成できます。 リリースでは、他の人が使用できるように、ソフトウェア、リリースノート、バイナリファイルへのリンクをパッケージ化できます。 詳しくは、「リリースについて」をご覧ください。