ある種のリポジトリ リソースは非常に大きくなる可能性があり、GitHub で過大な処理が必要になる場合があります。 そのため、リクエストが妥当な時間で終わるように、制限が設けられています。
以下の制限の多くは GitHub と API の両方に影響します。
テキストの制限
GitHub には、マークダウン図や人魚図など、一部のファイルの書式設定されたプレビューを表示します。 GitHub は、ファイルが小さい (通常は 2 MB 未満) 場合は常にこれらのプレビューのレンダリングを試みますが、より複雑なファイルがタイムアウトし、プレーン テキストにフォールバックするか、まったく表示されないことがあります。 これらのファイルは、常に生の形式で使用できます。例えば https://raw.githubusercontent.com/octocat/Spoon-Knife/master/index.html
、raw.githubusercontent.com
を介して提供します。 ファイルの raw URL を取得するには、 [Raw] ボタンをクリックします。
diff の制限
diff はきわめて大きくなることがあるため、コミット、プルリクエスト、比較ビューには制限が設けられています。
- プル要求では、 読み込むことができる合計差分が 20,000 行 を超えたり、生の差分データ が 1 MB を超えたりすることはできません。
- 1 つのファイルの差分が 、読み込むことができる 20,000 行 を超えたり、生の差分データ が 500 KB を超えたりすることはできません。 1 つのファイルに対して _400 行_と 20 KB が自動的に読み込まれます。
- 1 つの差分内のファイルの最大数は 300 に制限されます。
- 1 つの diff あたりでレンダリング可能なファイル (画像、PDF、GeoJSON ファイルなど) の最大数は、25 に制限されています。
制限された diff の一部が表示される場合もありますが、制限を超える部分は表示されません。
コミット リストの制限
比較ビューと pull request のページには、base
と head
リビジョン間のコミットのリストが表示されます。 これらのリストではコミットの数は 250 に制限されています。 その制限を超える場合は、追加のコミットがあるという注意書きが表示されます (コミット自体は表示されません)。
[コミット] タブに表示されるコミットの最大数は 10,000 です。 必要に応じて、git rev-list --count mybranch
などの他のツールを使用し、大量のコミットをカウントおよび列挙します。
リベースの制限
[Rebase and merge] オプションを使った pull request のマージは、100 コミットに制限されています。 コミットが 100 を超える pull request がある場合は、マージ コミットを作成するか、squash してマージするか、コミットを複数の pull request に分割する必要があります。
Organization とアカウントの制限
Organization とアカウントは、100,000 リポジトリを超えることはできません。 アカウントが 50,000 リポジトリを超えると、上限に近づいていることを知らせるバナーが表示されます。 さらに、管理者には電子メール通知が届き、監査ログは作成された追加の 5,000 個のリポジトリごとに更新されます。 「リポジトリについて」を参照してください。
統合と GitHub Apps
GitHub で統合を構築する場合は、ユーザーが生成したデータを、自分のアカウントで一元化するのではなく、それぞれ独自の GitHub アカウントに格納します。 これにより、ユーザーは作業を完全に管理できるようになり、またリポジトリの制限を超えないようにするのに役立ちます。