Práce s velkými úložišti
Git je široce přijímaný a doporučený systém správy verzí, ale při práci s velkými úložišti by se mělo jednat o několik obav a postarat se o ně.
Zatímco místní kopie úložišť v distribuovaném systému správy verzí je funkční, může to být významný problém, když jsou velká úložiště na místě.
Microsoft například zjistil tento problém při migraci úložiště s více než 300 GB dat z interního systému do Gitu.
Proč se úložiště stávají velkými
Pro velká úložiště existují dvě hlavní příčiny:
- Dlouhá historie
- Velké binární soubory
Mělký klon
Pokud vývojáři nepotřebují v místních úložištích veškerou dostupnou historii, je dobrou volbou implementace mělké klonování.
Šetří prostor v místních vývojových systémech a čas potřebný k synchronizaci.
Můžete zadat hloubku klonu, který chcete spustit:
git clone --depth [depth] [clone-url]
Klony můžete také omezit filtrováním větví nebo klonováním pouze jedné větve.
VFS pro Git
VFS pro Git pomáhá s velkými úložišti. Vyžaduje klienta Git LFS.
Typické příkazy Gitu nejsou ovlivněné, ale Git LFS pracuje se standardním systémem souborů a stahuje potřebné soubory na pozadí, když potřebujete soubory ze serveru.
Klient Git LFS byl vydán jako open source. Protokol je jednoduchý a má čtyři koncové body podobné koncovým bodům REST.
Další informace o velkých úložištích najdete v tématu: Práce s velkými soubory a systémem virtuálních souborů pro Git: Povolení Gitu ve velkém měřítku.
Skalár
Scalar je aplikace .NET Core dostupná pro Windows a macOS. Díky nástrojům a rozšířením gitu umožňují velmi velká úložiště maximalizovat výkon příkazů Gitu. Microsoft ho používá pro úložiště Windows a Office.
Pokud Azure Repos hostuje vaše úložiště, můžete úložiště naklonovat pomocí protokolu GVFS.
Dosahuje toho povolením některých pokročilých funkcí Gitu, jako jsou:
- Částečné klonování: Zkracuje dobu, než získá funkční úložiště, protože nestahuje všechny objekty Gitu hned.
- Předběžné načtení na pozadí: Stáhne data objektů Gitu ze všech vzdálených zařízení každou hodinu, což zkracuje dobu načítání volání gitu na popředí.
- Řídké rezervace: omezuje velikost pracovního adresáře.
- Sledování systému souborů: sleduje nedávno upravené soubory a eliminuje potřebu Gitu kontrolovat celý pracovní strom.
- Commit-graph: urychluje procházky po potvrzení a výpočty dosažitelnosti a urychluje příkazy, jako je protokol Git.
- Index s více balíčky: umožňuje rychlé vyhledávání objektů v mnoha souborech balíčků.
- Přírůstkové opětovné zabalení: Znovu zabalí zabalená data Gitu do méně souborů balíčků, aniž by došlo k narušení souběžných příkazů pomocí indexu s více balíčky.
Poznámka:
Aktualizujeme seznam funkcí, které Scalar automaticky konfiguruje jako novou verzi Gitu.
Další informace naleznete v tématu: