Git-Grenzwerte

Azure DevOps Services

Wir legen einige Ressourcenbeschränkungen für Git-Repositorys in Azure Repos fest. Unser Ziel ist es, Zuverlässigkeit und Verfügbarkeit für alle Kunden zu gewährleisten. Außerdem können Sie davon ausgehen, dass die Anzahl der Daten und die Anzahl der Pushs angemessen sind, mit Git eine bessere Gesamterfahrung haben.

Git nimmt an der Begrenzung der Rate zusammen mit den restlichen Azure DevOps teil. Darüber hinaus legen wir Beschränkungen für die Gesamtgröße von Repositorys und Pushs fest.

Repositorygröße

Repositorys sollten nicht größer als 250 GB sein. Um die Größe Ihres Repositorys abzurufen, führen Sie "git count-objects -vH" in einer Eingabeaufforderung aus, und suchen Sie nach dem Eintrag namens "size-pack":

D:\my-repo>git count-objects -vH

count: 482
size: 551.67 KiB
in-pack: 100365
packs: 25
size-pack: 642.76 MiB   <-- size of repository
prune-packable: 83
garbage: 0
size-garbage: 0 bytes

Es wird empfohlen, ihr Repository unter 10 GB für den optimalen Betrieb zu halten. Wenn Ihr Repository diese Größe überschreitet, sollten Sie Git-LFS,Scalar oder Azure Artifacts verwenden, um Ihre Entwicklungsartefakte neu zu erstellen.

Azure DevOps reduziert kontinuierlich die Gesamtgröße und erhöht die Effizienz von Git-Repositorys, indem ähnliche Dateien in Pakete konsolidiert werden. Für Repositorys, die sich 250 GB nähern, kann der interne Grenzwert für Packdateien erreicht werden, bevor der Optimierungsprozess abgeschlossen ist. Jeder Benutzer, der versucht, in das Repository zu schreiben, sieht die folgende Fehlermeldung: "Der Git Pack-Dateilimit wurde erreicht, Schreibvorgänge sind vorübergehend nicht verfügbar, während das Repository aktualisiert wird." Schreibvorgänge werden sofort nach Abschluss des Auftrags wiederhergestellt.

Pushgröße

Sehr große Pushs verwenden viele Ressourcen, blockieren oder verlangsamen andere Teile des Diensts. Solche Pushs werden häufig nicht zu normalen Softwareentwicklungsaktivitäten zugeordnet. Jemand hat möglicherweise versehentlich in Buildausgaben oder ein VM-Image eingecheckt, z. B. Aus diesen Gründen und mehr sind Pushs auf 5 GB zu einem Zeitpunkt beschränkt.

Es gibt eine Ausnahme, in der große Pushe normal sind. Wenn Sie ein Repository von einem anderen Dienst in Azure Repos migrieren, wird es als einzelner Push angezeigt. Wir beabsichtigen nicht, Importe zu blockieren, auch von sehr großen Repositorys. Wenn das Repository mehr als 5 GB beträgt, müssen Sie das Web verwenden, um das Repository anstelle der Befehlszeile zu importieren.

Pushgröße für LFS-Objekte

Git LFS zählt nicht zu dem Grenzwert von 5 GB. Der Grenzwert für 5 GB gilt nur für Dateien im tatsächlichen Repo, nicht blobs, die als Teil von LFS gespeichert sind. Wenn Sie pushen auf dem Grenzwert von 5 GB fehlschlagen, stellen Sie sicher, dass Ihre .gitattributes Datei die Erweiterungen der Dateien enthält, die Sie für die Nachverfolgung der Verwendung von LFS bedeuten und dass diese Datei gespeichert und vor der Phase der Phasen der großen Dateien gespeichert wurde, die nachverfolgt werden sollen.