Werken met grote opslagplaatsen

Voltooid

Git is een geweldig versiebeheersysteem dat veel wordt gebruikt en aanbevolen, maar er moeten enkele zorgen worden gemaakt en verzorgd bij het werken met grote opslagplaatsen.

Hoewel een lokale kopie van opslagplaatsen in een gedistribueerd versiebeheersysteem functioneel is, kan dat een groot probleem zijn wanneer grote opslagplaatsen aanwezig zijn.

Microsoft heeft dit probleem bijvoorbeeld ontdekt bij het migreren van een opslagplaats met meer dan 300 GB aan gegevens van een intern systeem naar Git.

Waarom opslagplaatsen groot worden

Er zijn twee primaire oorzaken voor grote opslagplaatsen:

  • Lange geschiedenis
  • Grote binaire bestanden

Ondiepe kloon

Als ontwikkelaars niet alle beschikbare geschiedenis in hun lokale opslagplaatsen nodig hebben, is het een goede optie om een ondiepe kloon te implementeren.

Het bespaart zowel ruimte op lokale ontwikkelsystemen als de tijd die nodig is om te synchroniseren.

U kunt de diepte opgeven van de kloon die u wilt uitvoeren:

git clone --depth [depth] [clone-url]

U kunt klonen ook verminderen door vertakkingen te filteren of slechts één vertakking te klonen.

VFS voor Git

VFS voor Git helpt bij grote opslagplaatsen. Hiervoor is een Git LFS-client vereist.

Typische Git-opdrachten worden niet beïnvloed, maar de Git LFS werkt met het standaardbestandssysteem om de benodigde bestanden op de achtergrond te downloaden wanneer u bestanden van de server nodig hebt.

De Git LFS-client is uitgebracht als opensource. Het protocol is een eenvoudige met vier eindpunten die vergelijkbaar zijn met REST-eindpunten.

Zie voor meer informatie over grote opslagplaatsen: Werken met grote bestanden en Virtual File System voor Git: Git inschakelen op enterpriseschaal.

Scalaire

Schermopname van het scalaire pictogram.

Scalar is een .NET Core-toepassing die beschikbaar is voor Windows en macOS. Met hulpprogramma's en extensies voor Git kunnen zeer grote opslagplaatsen uw Git-opdrachtprestaties maximaliseren. Microsoft gebruikt deze voor Windows- en Office-opslagplaatsen.

Als Azure-opslagplaatsen als host fungeert voor uw opslagplaats, kunt u een opslagplaats klonen met behulp van het GVFS-protocol.

Dit bereikt u door enkele geavanceerde Git-functies in te schakelen, zoals:

  • Gedeeltelijke kloon: vermindert de tijd om een werkopslagplaats te krijgen door niet meteen alle Git-objecten te downloaden.
  • Achtergrondvoorvoeging: downloadt elk uur git-objectgegevens van alle externen, waardoor de tijd voor git-aanroepen op de voorgrond wordt verminderd.
  • Sparse-checkout: beperkt de grootte van uw werkmap.
  • Bestandssysteemmonitor: houdt de onlangs gewijzigde bestanden bij en elimineert de noodzaak voor Git om de hele werkstructuur te scannen.
  • Doorvoergrafiek: versnelt doorvoerwandelingen en bereikberekeningen, waardoor opdrachten zoals git-logboek sneller worden uitgevoerd.
  • Multi-pack-index: maakt snelle objectzoekacties mogelijk voor veel pakketbestanden.
  • Incrementeel opnieuw verpakken: verpakt de verpakte Git-gegevens opnieuw in minder packbestanden zonder gelijktijdige opdrachten te verstoren met behulp van de index met meerdere pakketten.

Notitie

We werken de lijst met functies bij die scalar automatisch configureert als een nieuwe Git-versie wordt uitgebracht.

Zie voor meer informatie: