Práce s velkými úložišti

Dokončeno

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

Snímek obrazovky s ikonou 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: