GitHub Enterprise Server でのサイズ制限について
GitHub Enterprise Server には、リポジトリで許可されるファイルのサイズに制限があります。 50 MBより大きいファイルを追� または更新しようとすると、Gitから警告が表示されます。 変更は引き続きリポジトリに正常にプッシュされますが、パフォーマンスへの影響を最小限に抑えるためにコミットを削除することを検討してもよいでしょう。 詳しくは、「ファイルをリポジトリの履歴から削除する」をご覧く� さい。
注: ブラウザーからリポジトリにファイルを追� する� �合、そのファイルは 25 MB 以下でなければなりません。 詳細については、「リポジトリにファイルを追� する」を参照してく� さい。
既定では、GitHub Enterprise Server は 100 MB を超えるプッシュをブロックします。 た� し、サイト管理者は、 に対して異なる制限を構成できます。 詳しくは、「Git のプッシュ制限を設定」をご覧く� さい。
この制限を超えるファイルを追跡するには、Git Large File Storage (Git LFS) を使う必要があります。 詳しくは、「Git Large File Storage について」をご覧く� さい。
リポジトリ内で大きなファイルを配布する必要がある� �合は、ファイルを追跡するのではなく、 でリリースを作成できます。 詳しくは、「大きなバイナリを配布する」をご覧く� さい。
Git は、大きい SQL ファイルを処理するようには設計されていません。 大きいデータベースを他の開発者と共有するには、Dropbox を使うことをお勧めします。
ファイルをリポジトリの履歴から削除する
警告: この手� �では、ファイルをコンピューターのリポジトリと から完全に削除します。 ファイルが重要なものである� �合は、ローカルバックアップコピーをリポジトリ外にあるディレクトリに作成してく� さい。
プッシュされていない直近のコミットで追� されたファイルを削除する
ファイルが直近のコミットで追� され、 にプッシュしていない� �合は、ファイルを削除してコミットを修正することができます。
- [ターミナル][ターミナル][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
- コミットを にプッシュします。
$ git push # Push our rewritten, smaller commit
以前のコミットで追� されたファイルを削除する
以前のコミットでファイルを追� した� �合は、リポジトリの履歴から削除する必要があります。 リポジトリの履歴からファイルを削除するには、BFG Repo-Cleaner または git filter-branch
コマンドを使用できます。 詳しくは、「機密データをリポジトリから削除する」をご覧く� さい。
大きなバイナリを配布する
リポジトリ内で大きなファイルを配布する必要がある� �合は、でリリースを作成できます。 リリースでは、他の人が使用できるように、ソフトウェア、リリースノート、バイナリファイルへのリンクをパッケージ化できます。 詳しくは、「リリースについて」をご覧く� さい。