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 tar
verwenden, 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.