Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Azure DevOps Services
Nakładamy limity zasobów na repozytoria Git w Azure Repos, aby zapewnić niezawodność i dostępność dla wszystkich klientów. Utrzymując rozsądne rozmiary danych i liczbę wypchnięć, możesz oczekiwać lepszego ogólnego środowiska pracy z usługą Git.
Usługa Git uczestniczy w ograniczaniu szybkości wraz z pozostałą częścią Azure DevOps Services. Dodatkowo nakładamy limity na całkowity rozmiar repozytoriów, wypchnięć oraz długość ścieżek do plików i katalogów.
Rozmiar repozytorium
Repozytoria nie powinny być większe niż 250 GB. Aby pobrać rozmiar repozytorium, uruchom git count-objects -vH w wierszu polecenia i poszukaj wpisu o nazwie "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
Zalecamy przechowywanie repozytorium poniżej 10 GB w celu uzyskania optymalnej wydajności. Jeśli repozytorium przekracza ten rozmiar, rozważ użycie usługi Git-LFS,Scalar lub Azure Artifacts do zarządzania artefaktami programistycznymi.
Azure Repos stale zmniejsza ogólny rozmiar i zwiększa wydajność repozytoriów Git, konsolidując podobne pliki w pakiety. W przypadku repozytoriów o rozmiarze zbliżonym do 250 GB wewnętrzny limit plików pakietów może zostać osiągnięty przed zakończeniem procesu optymalizacji. Po osiągnięciu tego limitu użytkownicy próbujący zapisać w repozytorium widzą następujący komunikat o błędzie: "Osiągnięto limit plików pakietu Git, operacje zapisu są tymczasowo niedostępne podczas aktualizowania repozytorium". Operacje zapisu są przywracane natychmiast po zakończeniu zadania optymalizacji.
Pliki nie powinny być większe niż 100 MB. Ten limit pomaga zapewnić optymalną wydajność i niezawodność repozytorium Git. Duże pliki mogą znacznie spowolnić operacje repozytorium, takie jak klonowanie, pobieranie i wypychanie zmian. Jeśli chcesz przechowywać duże pliki, rozważ użycie usługi Git LFS (Large File Storage), która została zaprojektowana z myślą o wydajnej obsłudze dużych plików przez przechowywanie ich poza głównym repozytorium i przechowywanie tylko odwołań do nich w repozytorium. Takie podejście pomaga utrzymać wydajność i możliwości zarządzania repozytorium Git.
Rozmiar wypychania
Duże wypchnięcia zużywają znaczne zasoby, blokując lub spowalniając inne części usługi. Te wypchnięcia często nie są zgodne z typowymi działaniami związanymi z tworzeniem oprogramowania i mogą obejmować elementy, takie jak dane wyjściowe kompilacji lub obrazy maszyn wirtualnych. W związku z tym wypchnięcia są ograniczone do 5 GB jednocześnie.
Istnieje jeden wyjątek, w którym duże wypchnięcia są normalne: migrowanie repozytorium z innej usługi do Azure Repos. Takie migracje są wykonywane jako pojedyncze wypchnięcie i nie zamierzamy blokować importu, nawet w przypadku dużych repozytoriów. Jeśli repozytorium przekracza 5 GB, należy użyć Internetu, aby zaimportować repozytorium zamiast wiersza polecenia.
Rozmiar wypchnięcia dla obiektów LFS
Usługa Git LFS nie jest wliczana do limitu repozytorium wynoszącego 5 GB. Limit 5 GB ma zastosowanie tylko do plików w rzeczywistym repozytorium, a nie do obiektów blob przechowywanych za pomocą LFS. Jeśli napotkasz nieudane wypchnięcia z powodu limitu 5 GB, upewnij się, że .gitattributes plik zawiera rozszerzenia plików, które zamierzasz śledzić za pomocą LFS. Upewnij się, że ten plik został zapisany i umieszczony w poczekalni przed przygotowaniem dużych plików, które mają być śledzone.
Długość ścieżki
Azure Repos wymusza zasady wypychania, które ograniczają długość ścieżek w repozytorium Git, odrzucając wypchnięcia, które wprowadzają zbyt długie ścieżki. W przeciwieństwie do zasady maksymalnej długości ścieżki nie można jej wyłączyć ani zastąpić, ponieważ wymusza ona maksymalne wartości obsługiwane przez naszą platformę.
Stosowane są następujące limity:
- Całkowita długość ścieżki: 32 766 znaków
- Długość komponentu ścieżki (nazwa folderu lub pliku): 4 096 znaków
Ta zasada ma wpływ tylko na nowo wprowadzone ścieżki w wypchnięciu. Nie ma to zastosowania, jeśli zmienisz istniejący plik, ale ma zastosowanie, jeśli utworzysz nowy plik, zmienisz nazwę lub przeniesiesz istniejący.
Jeśli jakiekolwiek wypychane zatwierdzenia wprowadzają ścieżki, które przekraczają te limity, wypchnięcie zostanie odrzucone z jednym z następujących komunikatów o błędach:
VS403729: The push was rejected because commit '6fbe8dc700fdb33ef512e2b9e35436faf555de76' contains a path, which exceeds the maximum length of 32766 characters.VS403729: The push was rejected because commit 'd23277abfe2d8dcbb88456da880de631994dabb4' contains a path component, which exceeds the maximum length of 4096 characters.