Repository-Größenbeschränkungen für GitHub.com

74

In letzter Zeit habe ich GitHub verwendet und ich frage mich, wie hoch ist das Repository-Limit für Dateien, die auf github.com gehostet werden? Ich habe mich gefragt, weil ich überlegt habe, GitLab zu verwenden, da es 10 GB für jedes Repository zulässt.

Paulo Mattos
quelle
Ähnliche Frage webapps.stackexchange.com/questions/45254/…
noscreenname

Antworten:

49

Aus der Dokumentation von GitHub :

GitHub hat keine festgelegten Festplattenkontingente. Wir versuchen, innerhalb angemessener Grenzen reichlich Speicherplatz für alle Git-Repositorys bereitzustellen. Wenn Sie die Repositorys klein halten, werden unsere Server schnell und die Downloads für unsere Benutzer schnell.

und

Darüber hinaus legen wir ein striktes Limit für Dateien fest, deren Größe 100 MB überschreitet.

Nun zum nicht eingemachten Teil meiner Antwort. Mit GitHub können Sie möglicherweise Dateien mit bis zu 100 MB speichern. Sie sollten jedoch auch darauf achten, keine binären oder ähnliche Blob-Dateien zu versionieren . Der Grund dafür ist, dass Git nicht gut mit Binärdateien umgeht und Speicherplatz eine große Strafe sein kann. Wenn Sie also feststellen, dass Sie 100 MB pro Datei übertragen, sollten Sie überprüfen, um welchen Dateityp es sich handelt.

Tim Biegeleisen
quelle
91

Bekannte Grenzen

Hier gelten mehrere Repo-Größenbeschränkungen.

Soft Limit

Ab November 2020 sind dies laut Dokumentation 5 GB. Wenn Sie dieses Limit überschreiten, erhalten Sie möglicherweise eine E-Mail vom GitHub-Support.

Wir empfehlen, dass die Repositorys klein bleiben, idealerweise weniger als 1 GB, und weniger als 5 GB werden dringend empfohlen .

Wenn Sie vom GitHub-Support eine einschränkende E-Mail für ein oder mehrere öffentliche Repos erhalten, melden Sie diese bitte als Kommentar zu dieser Antwort zusammen mit einem Link zu den Repos, einschließlich der Umstände, unter denen sie vorliegen.

git push Warngrenzen

Ab Mai 2020 wurde in den unten aufgeführten archivierten Dokumenten Folgendes angegeben. Es wird davon ausgegangen, dass dies weiterhin gilt. Diese Grenze kann offensichtlich ignoriert werden.

Wenn Sie 75 GB erreichen, erhalten Sie eine Warnung von Git in Ihrem Terminal, wenn Sie das nächste Mal eine Änderung vornehmen.

Außerdem erhalten Sie im Terminal eine Warnung für jede Datei mit mehr als 50 MB, jedoch unter dem festgelegten Grenzwert.

Harte Grenzen

Obwohl in den Dokumenten das Hard-Limit pro Repository nicht angegeben ist, wird ab November 2020 davon ausgegangen, dass das zuvor dokumentierte Hard-Limit pro Repository von 100 GB weiterhin gilt, zumindest bis eine theoretische E-Mail vom GitHub-Support eingeht. In den ebenfalls unten aufgeführten Dokumenten wird nur das Hard-Limit pro Datei von 100 MB angegeben .

Einzelne Dateien in einem Repository sind streng auf eine maximale Größe von 100 MB beschränkt.

Ab Mai 2020 wurde in den unten aufgeführten archivierten Dokumenten angegeben, dass das Hard-Limit 100 GB pro Repository beträgt . Auch hier wird davon ausgegangen, dass diese harte Grenze weiterhin gilt.

Repositorys haben eine feste Größenbeschränkung von 100 GB.

Ab 2018 beträgt die dokumentierte Push-Größenbeschränkung (Archivlink) 2 GB, obwohl diesbezügliche Überlegungen auch für große Pushs gelten.

Pushs über 2 GB sind nicht zulässig

Dateien können auch als Binärdateien in einer Version freigegeben werden. Ab 2020 beträgt die dokumentierte Größenbeschränkung für jede dieser Dateien 2 GB.

Wir beschränken weder die Gesamtgröße der Binärdateien in der Version noch die Bandbreite, mit der sie bereitgestellt werden. Jede einzelne Datei muss jedoch kleiner als 2 GB sein.

Überlegungen zur Suche

Wenn Sie die GitHub-Such-API verwenden möchten, beachten Sie alle zusätzlichen Überlegungen .

Überprüfen der verwendeten Größe

Die Größe jedes Repos, auf das Sie direkt Administratorzugriff haben, jedoch nicht über ein Team, wird unter https://github.com/settings/repositories angezeigt .

Begrenzung der Dateigröße

Die Dateigrößenbeschränkung kann jedoch mit einem Tool wie Git LFS umgangen werden . [ Hilfe ]

Wenn es für Ihre Anwendung funktioniert, können Sie alternativ ein Tool tarverwenden, mit dem Sie eine große Datei in 100-MB-Teile aufteilen können.

Anzahl der Dateien

Es gibt keine festgelegte Grenze für die maximale Anzahl von Dateien in einem Repo. In einem Beitrag aus dem Jahr 2015 wird festgestellt, dass 1,7 Millionen Dateien in einem GitHub-Repo enthalten sind. Beachten Sie, dass 1 Million Dateien jede Datei auf einen maximalen Durchschnitt von 100 KB beschränken würden .

Wie schreibt man

Um eine große Anzahl von Bytes mit git erfolgreich übertragen zu können, müssen Sie höchstwahrscheinlich zuerst einen ausreichend großen Wert konfigurierenhttp.postBuffer , wobei genügend freier Systemspeicher verfügbar ist.

Abgesehen von der Verwendung von git besteht die andere Möglichkeit zum programmgesteuerten Schreiben von Dateien, die nicht viel aktualisiert werden, darin, die v3 REST- oder v4 GraphQL- APIs mithilfe eines persönlichen Zugriffstokens zu verwenden . Stellen Sie dabei sicher, dass das benutzerspezifische Stundensatzlimit nicht überschritten wird. Anders als bei git scheint diese API jedoch nicht das Senden eines Inkrements oder eines Diff zu ermöglichen.

Verschlüsselung

Es ist möglich, den Inhalt des gesamten Repos oder nur einiger Dateien mit git mit mehreren Einschränkungen zu verschlüsseln .

Vergleich

Für das, was es wert ist, hat GitLab (nicht GitHub) seit 2015 eine maximale Repo-Größenbeschränkung von 10 GB . Darüber hinaus scheint GitLab (wie GitHub) auch Dateien mit einer Größe von fast 100 MB zu akzeptieren. Wenn möglich, würde ich persönlich auf GitHub und GitLab pushen und ein implizites Backup bereitstellen.

Scharfsinn
quelle
1
Ja, es kann, da es dem gleichen Mustervergleich wie .gitignore git-scm.com/docs/gitignore#_pattern_format folgt. Sie können dies über die Befehlszeile (Link unten für das Tutorial) oder durch Hinzufügen Ihrer Muster zu .gitattributes einrichten. Beispiel: gist.github.com/nemotoo/b8a1c3a0f1225bb9231979f389fd4f3f . Ich empfehle Ihnen dringend, sich die offizielle Website sowie das Tutorial anzusehen, um loszulegen. Github.com/git-lfs/git-lfs/wiki/Tutorial .
Jaacko Torus
1
Ich kenne ein Repo, das diese Grenze erreicht hat. Es ist das OpenGapps-Repo. Hier sind die beiden Artikel, die erklären, was danach passiert ist: opengapps.org/blog/post/2019/02/17/github-situation opengapps.org/blog/ post / 2019/08/23 / sourceforge-migration
Fawaz Ahmed
1
Ich habe diese E-Mail von GitHub im Mai 2019 für eine 5-GB-Gabel ( github.com/whosonfirst-data/whosonfirst-data/issues/1507 ) erhalten, ebenso wie andere Gabeln und den Upstream ( whosonfirst.org/blog/2019/05/09) / Änderungen ). Ich habe meine Gabel gelöscht, Upstream ihre 10+ GB aufgeteilt? in kleinere.
Hugo
1
Meine Gabel hatte keine hohe Bandbreite. Nur ich hatte mich dazu verpflichtet ( nur 16 PRs im Wert von mehr als 2 Monaten ) und es war seit 3,5 Jahren (Oktober 2015 - Mai 2019) nicht mehr aktualisiert worden. Upstream war immer noch aktiv und geschäftiger.
Hugo
1
Sie können auch große Binärdateien über Github-Releases hochladen. Keine angegebenen Gesamt- oder Bandbreitenbeschränkungen, obwohl jede Binärdatei auf 2 GB begrenzt ist. IIRC Einige Projekte mit sehr hoher Bandbreitennutzung erhielten Warnungen. docs.github.com/de/free-pro-team@latest/github/…
qwr
1

Limits werden erhöht. Dies sind 500 MB pro Datei. Keine Begrenzung für die Repository-Größe. Unbegrenzte Repositories. Diese Grenzwerte gelten nur für kostenlose Konten. Wenn Sie zahlen, erhöhen sich die Limits wirklich.

4 € pro Monat sind nicht so viel für einen solchen Service, Sie geben wahrscheinlich viel mehr für Online-Streaming aus ;-).

Wenn Github zu Ihrem Projekt passt, sollten Sie sich nicht viel um Grenzen kümmern, den eigentlichen Zweck von Github, selbst seit Microsoft es erworben hat, ist es, Ihren Quellcode zu erhalten. Was auch immer Sie darüber denken mögen, sie bieten interessante Tools für Teams und OpenSource-Codes. Ich würde mich sehr darum kümmern, Dateien auf "jemand anderem Computer" für Unternehmen zu hosten, die wirklich Sicherheit brauchen.

user13652199
quelle
0

Einschränkungen der Datei- und Repository-Größe

Um eine gute Leistung für unsere Benutzer zu gewährleisten, empfehlen wir, Repositorys jeweils unter 1 GB zu halten. Wenn Sie die Repositorys klein halten, sind unsere Server schnell und die Downloads schnell. Wenn Ihr Repository 1 GB überschreitet, erhalten Sie möglicherweise eine E-Mail vom GitHub-Support, in der Sie aufgefordert werden, diese zu reduzieren.

Repositorys haben eine feste Größenbeschränkung von 100 GB. Wenn Sie 75 GB erreichen, erhalten Sie eine Warnung von Git in Ihrem Terminal, wenn Sie das nächste Mal eine Änderung vornehmen. Darüber hinaus legen wir eine strikte maximale Größenbeschränkung von 100 MB für einzelne Dateien in einem Repository fest

Quelle: Github -> Was ist meine Festplatte?

Hinweis : Wenn Sie einem Repository über einen Browser eine Datei hinzufügen, darf die Datei nicht größer als 25 MB sein. Für mehr Informationen

Ganesa Vijayakumar
quelle