Sådan fungerer Git LFS: Oversigt over Git Large File Storage

Udviklingsteams over hele verden bruger Git til at administrere kildekode. Og mange bruger Git LFS – Git Large File Storage – til at administrere og opbevare store filer. Her beskriver vi, hvad Git LFS gør, og hvornår det skal bruges.

Kan Git håndtere store filer?

Git kan ikke håndtere store filer på egen hånd. Derfor tilføjer mange Git-teams Git LFS for at håndtere store filer i Git.

Hvad er Git LFS (Git Large File Storage)?

Git LFS er en Git-udvidelse, der bruges til at håndtere store filer og binære filer i et separat Git-repositorium.

De fleste projekter i dag har både kode og binære aktiver. Og lagring af store binære filer i Git-repositorier kan være en flaskehals for Git-brugere.

Det er derfor, at nogle Git-brugere tilføjer Git Large File Storage (LFS).

Hvordan fungerer Git LFS?

Git LFS bruger pegepinde i stedet for de faktiske filer eller binære store objekter (blobs).

Så i stedet for at skrive store filer/blobs til et Git-repositorium skriver du en pointerfil i stedet for at skrive store filer/blobs til et Git-repositorium. Og selve filerne/blobs skrives til en separat server. Du kan endda bruge flere servere i Git LFS.

Det er ret ligetil at komme i gang. Du downloader udvidelsen og konfigurerer dine filtyper.

Med Git LFS er det muligt at versionere store filer (og administrere blobs) og samtidig frigøre plads i Git-opbevaringsrummene. Og Git LFS er ofte et fix til at skubbe store filer til GitHub.

Git-problemer ud over LFS

Git har problemer ud over Git LFS. Og sikkerhed er et stort et. Native Git mangler sikkerhed, og tilføjelsesmulighederne til at sikre Git er ikke gode. Find ud af, hvad du bør gøre ved Git-sikkerhed i vores white paper – How to Lock Down Git.

Lock Down Git

Skal jeg bruge Git LFS?

Du bør bruge Git LFS, hvis du har store filer eller binære filer, som du skal gemme i Git-repositorier.

Det er fordi Git er decentraliseret. Så alle udviklere har den fulde ændringshistorik på deres computer. Og ændringer i store binære filer får Git-repositorier til at vokse med størrelsen af den pågældende fil, hver gang filen ændres (og den pågældende ændring bekræftes). Det betyder, at det vil tage lang tid at hente filerne. Og hvis du gør det, vil det være svært at versionere og flette binærfilerne.

Så hver gang filerne vokser, vokser Git-repositoriet. Og når Git-brugere skal hente og klone et repository, skaber det problemer.

Git LFS blev oprettet for at løse disse problemer. Men det har sine egne problemer…

Når Git Large File Storage ikke virker

Git LFS virker. Men teams fortæller os konstant, at det er svært at administrere. Så selv om Git i sig selv er gratis, kan det medføre produktivitetsomkostninger.

Installation af Git LFS på hver server og arbejdsstation (og/eller repo) tager tid. Det belaster også administratorer. Når det først er installeret, er der ingen synlighed og kun lidt kontrol over det. Og hvis nogle udviklere ikke har Git LFS-udvidelsen? Så bryder det sammen.

Det kræver ekstra skridt at vedligeholde Git Large File Storage med build runners, såsom Jenkins. Det fører til ekstra tid – og ekstra kompleksitet.

Alt dette kan føre til problemer med ydeevnen.

Alternativer til Git LFS

Git LFS er ikke den eneste måde at håndtere store filer i Git på. Der er alternativer.

Dette omfatter andre open source- eller tredjepartsløsninger, som f.eks:

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

Men ligesom Git LFS kan disse muligheder for lagring af store filer i Git skabe problemer. Der er en bedre måde at håndtere store filer og binære filer på.

Den bedste versionskontrol til store binære filer: Helix Core

Der er tale om større projekter i dag, med flere filer og blandede aktiver end nogensinde før. Git og Git LFS alene kan ikke håndtere det. Men det kan Helix Core.

Helix Core – versionskontrolsoftware fra Perforce – er den bedste løsning til håndtering af store binære filer. Det skyldes, at lagring af store filer er en indbygget funktion, ikke et add-on. Og det er skudsikkert.

I Helix Core kan du gemme binære filer sammen med din kildekode. Faktisk kan alle dine største filer – binære filer, kildekode, kunstfiler, videofiler, billeder, biblioteker og byggeartefakter – bo sammen i et enkelt arkiv. Uden at bremse store, distribuerede teams.

Se selv hvorfor Helix Core er det foretrukne værktøj til håndtering af store binære filer.

Håndter store filer i Helix Core

Forresten, Perforce har også Git

Har du stadig teams, der har brug for at håndtere store filer i Git? Du kan bringe dem ind i din build pipeline med Perforce Git-værktøjer – Helix4Git og Helix TeamHub.

Helix4Git er en Git-server inde i en Perforce-server. Helix TeamHub er en Git-kodehostingløsning. Disse værktøjer giver Git-teams mulighed for at udnytte hastigheden og ydeevnen i Helix Core – samtidig med at de arbejder i Git.

Så du kan bruge Helix4Git sammen med Helix Core til at bringe dit Git-repositorium ind i din build-pipeline. Med Helix4Git kan dine udviklere stadig bruge deres native Git-værktøjer. Men de får deres filer meget hurtigere.

Du får:

  • Hurtigere CI/CD build-ydelse.
  • Support for multi-repo-projekter, artefakt-repositorier og endda et Docker container-register.
  • Muligheden for gradvist at tilføje noder.
  • Replikation og garanteret opdateret indhold uden forsinkelse, i stedet for kopiering.

Leave a Reply