Jak funguje Git LFS:

Vývojové týmy po celém světě používají systém Git ke správě zdrojového kódu. A mnohé z nich používají systém Git LFS – Git Large File Storage – ke správě a ukládání velkých souborů. Zde si rozebereme, co Git LFS umí a kdy ho použít.

Může Git zvládnout velké soubory?

Git sám o sobě velké soubory nezvládá. Proto mnoho týmů Git přidává systém Git LFS, který si s velkými soubory v systému Git poradí.

Co je Git LFS (Git Large File Storage)?

Git LFS je rozšíření systému Git, které slouží ke správě velkých souborů a binárních souborů v samostatném úložišti Git.

Většina projektů dnes obsahuje jak kód, tak binární prostředky. A ukládání velkých binárních souborů v úložištích Git může být pro uživatele systému Git úzkým hrdlem.

Proto někteří uživatelé systému Git přidávají systém Git Large File Storage (LFS).

Jak funguje systém Git LFS?

Systém Git LFS používá ukazatele místo skutečných souborů nebo velkých binárních objektů (blobů).

Místo zápisu velkých souborů/blobů do úložiště Git tedy zapisujete soubor s ukazatelem. A samotné soubory/bloby se zapisují na samostatný server. V systému Git LFS můžete dokonce používat více serverů.

Začít je poměrně jednoduché. Stáhnete si rozšíření a nakonfigurujete typy souborů.

Používání systému Git LFS umožňuje verzovat velké soubory (a spravovat bloby) a zároveň uvolnit místo v úložištích Git. A Git LFS je často řešením pro odesílání velkých souborů na GitHub.

Problémy systému Git mimo LFS

Systém Git má problémy i mimo Git LFS. A velkým z nich je bezpečnost. Nativní Git postrádá zabezpečení a možnosti doplňků pro zabezpečení Gitu nejsou skvělé. Co byste měli udělat pro zabezpečení systému Git, se dozvíte v naší bílé knize – Jak uzamknout systém Git.

Zamknout systém Git

Měl bych používat Git LFS?

Pokud máte v repozitářích Git velké soubory nebo binární soubory, které chcete ukládat, měli byste používat systém Git LFS.

To proto, že systém Git je decentralizovaný. Každý vývojář má tedy na svém počítači kompletní historii změn. A změny ve velkých binárních souborech způsobují, že se repozitáře Git zvětšují o velikost daného souboru pokaždé, když je soubor změněn (a tato změna je odevzdána). To znamená, že získání souborů bude trvat celou věčnost. A pokud ano, bude obtížné binární soubory verzovat a slučovat.

Při každém zvětšení souborů se tedy zvětší i úložiště Git. A když uživatelé systému Git potřebují úložiště načíst a naklonovat, vzniknou problémy.

Pro řešení těchto problémů byl vytvořen systém Git LFS. Má však své vlastní problémy…

Když nefunguje velké úložiště souborů Git

Git LFS funguje. Ale týmy nám neustále říkají, že je těžké ho spravovat. Takže i když je samotný systém Git zdarma, může zvyšovat náklady na produktivitu.

Instalace systému Git LFS na každý server a pracovní stanici (a/nebo repozitář) vyžaduje čas. Také to zatěžuje administrátory. Jakmile je nainstalován, není do něj vidět a je nad ním malá kontrola. A pokud někteří vývojáři nemají rozšíření Git LFS? Rozpadá se to.

Udržování velkokapacitního úložiště souborů Git pomocí programů pro spouštění sestavení, jako je například Jenkins, vyžaduje další kroky. To vede k dalšímu času – a další složitosti.

To vše může vést k problémům s výkonem.

Alternativy ke Git LFS

Git LFS není jediný způsob, jak spravovat velké soubory v systému Git. Existují alternativy.

Mezi ně patří další řešení s otevřeným zdrojovým kódem nebo řešení třetích stran, jako např:

  • git-annex
  • git-bigfiles
  • git-fat
  • git-media
  • git-bigstore
  • git-sym

Ale stejně jako Git LFS mohou tyto možnosti ukládání velkých souborů v systému Git způsobovat problémy. Existuje lepší způsob správy velkých souborů a binárních souborů.

Nejlepší správa verzí pro velké binární soubory:

Dnešní projekty jsou větší a obsahují více souborů a smíšených prostředků než kdykoli předtím. Samotné systémy Git a Git LFS to nezvládnou. Ale Helix Core ano.

Helix Core – software pro správu verzí od společnosti Perforce – je nejlepší volbou pro správu velkých binárních souborů. Je to proto, že ukládání velkých souborů je nativní funkcí, nikoli doplňkem. A je neprůstřelný.

V systému Helix Core můžete binární soubory ukládat vedle zdrojového kódu. Ve skutečnosti mohou všechny vaše největší soubory – binární soubory, zdrojový kód, umělecké soubory, video soubory, obrázky, knihovny a artefakty sestavení – žít společně v jediném úložišti. A to bez zpomalení velkých distribuovaných týmů.

Přesvědčte se sami, proč je Helix Core nástrojem pro správu velkých binárních souborů.

Správa velkých souborů v Helix Core

Mimochodem, Perforce má také Git

Máte stále týmy, které potřebují spravovat velké soubory v systému Git? Můžete je zapojit do sestavovacího potrubí pomocí nástrojů Perforce Git – Helix4Git a Helix TeamHub.

Helix4Git je server Git uvnitř serveru Perforce. Helix TeamHub je řešení pro hostování kódu Git. Tyto nástroje umožňují týmům Git využívat rychlost a výkon jádra Helix Core – a zároveň pracovat v systému Git.

Společně s jádrem Helix Core tedy můžete používat Helix4Git, abyste do sestavovacího potrubí zapojili úložiště Git. Helix4Git umožňuje vašim vývojářům stále používat jejich nativní nástroje Git. Ale své soubory získají mnohem rychleji.

Získáte:

  • Rychlejší výkon CI/CD sestavení.
  • Podporu projektů s více repozitáři, repozitáře artefaktů a dokonce i registr kontejnerů Docker.
  • Možnost postupného přidávání uzlů.
  • Replikaci a zaručeně aktuální obsah bez zpoždění, namísto kopírování.

Výhodou je, že se můžete spolehnout na to, že máte k dispozici více repozitářů.

Leave a Reply