Cum funcționează Git LFS: Prezentare generală a Git Large File Storage

Echipele de dezvoltare din întreaga lume folosesc Git pentru a gestiona codul sursă. Și multe folosesc Git LFS – Git Large File Storage – pentru a gestiona și stoca fișiere mari. Aici, vom detalia ce face Git LFS și când să îl folosim.

Poate Git să gestioneze fișiere mari?

Git nu poate gestiona fișiere mari de unul singur. Acesta este motivul pentru care multe echipe Git adaugă Git LFS pentru a se ocupa de fișierele mari în Git.

Ce este Git LFS (Git Large File Storage)?

Git LFS este o extensie Git utilizată pentru a gestiona fișiere mari și fișiere binare într-un depozit Git separat.

Majoritatea proiectelor de astăzi au atât cod, cât și active binare. Iar stocarea fișierelor binare mari în depozitele Git poate fi un blocaj pentru utilizatorii Git.

De aceea, unii utilizatori Git adaugă Git Large File Storage (LFS).

Cum funcționează Git LFS?

Git LFS utilizează pointeri în locul fișierelor reale sau a obiectelor binare mari (blobs).

Așa că, în loc să scrieți fișiere/bloguri mari într-un depozit Git, scrieți un fișier pointer. Iar fișierele/bloburile în sine sunt scrise pe un server separat. Puteți utiliza chiar mai multe servere în Git LFS.

Începerea este destul de simplă. Descărcați extensia și configurați tipurile de fișiere.

Utilizarea Git LFS face posibilă versiunea fișierelor mari (și gestionarea blobs), eliberând în același timp spațiu în depozitele Git. Iar Git LFS este adesea o soluție pentru împingerea fișierelor mari pe GitHub.

Probleme Git dincolo de LFS

Git are probleme dincolo de Git LFS. Iar securitatea este una mare. Git-ului nativ îi lipsește securitatea, iar opțiunile adiționale pentru a securiza Git nu sunt grozave. Aflați ce ar trebui să faceți cu privire la securitatea Git în cartea noastră albă – How to Lock Down Git.

Lock Down Git

Ar trebui să folosesc Git LFS?

Ar trebui să folosiți Git LFS dacă aveți fișiere mari sau fișiere binare de stocat în depozitele Git.

Aceasta pentru că Git este descentralizat. Astfel, fiecare dezvoltator are istoricul complet al modificărilor pe calculatorul său. Iar modificările din fișierele binare mari fac ca depozitele Git să crească cu dimensiunea acelui fișier de fiecare dată când fișierul este modificat (și acea modificare este confirmată). Asta înseamnă că va dura o veșnicie pentru a obține fișierele. Și dacă reușiți, va fi dificil să versionați și să unificați fișierele binare.

Așa că, de fiecare dată când fișierele cresc, crește și depozitul Git. Iar atunci când utilizatorii Git trebuie să recupereze și să cloneze un depozit, acest lucru creează probleme.

Git LFS a fost creat pentru a rezolva aceste probleme. Dar are propriile sale probleme…

Când Git Large File Storage nu funcționează

Git LFS funcționează. Dar echipele ne spun în mod constant că este greu de gestionat. Deci, chiar dacă Git în sine este gratuit, poate genera costuri de productivitate.

Instalarea Git LFS pe fiecare server și stație de lucru (și/sau repo) necesită timp. De asemenea, împovărează administratorii. Odată ce este instalat, nu există vizibilitate și puțin control asupra lui. Și dacă unii dezvoltatori nu au extensia Git LFS? Se strică.

Este nevoie de pași suplimentari pentru a menține Git Large File Storage cu build runners, cum ar fi Jenkins. Asta duce la timp suplimentar – și complexitate suplimentară.

Toate acestea pot duce la probleme de performanță.

Alternative la Git LFS

Git LFS nu este singura modalitate de a gestiona fișiere mari în Git. Există alternative.

Aceasta include alte soluții open source sau terțe părți, cum ar fi:

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

Dar, la fel ca Git LFS, aceste opțiuni de stocare a fișierelor mari Git pot crea probleme. Există o modalitate mai bună de a gestiona fișierele mari și fișierele binare.

Cel mai bun control al versiunilor pentru fișiere binare mari: Helix Core

Proiectele de astăzi sunt mai mari, cu mai multe fișiere și active mixte decât oricând înainte. Git și Git LFS singure nu pot gestiona acest lucru. Dar Helix Core poate.

Helix Core – software-ul de control al versiunilor de la Perforce – este cea mai bună opțiune pentru gestionarea fișierelor binare mari. Acest lucru se datorează faptului că stocarea fișierelor mari este o capabilitate nativă, nu un supliment. Și este antiglonț.

În Helix Core, puteți stoca fișiere binare alături de codul sursă. De fapt, toate fișierele dvs. cele mai mari – fișiere binare, cod sursă, fișiere artistice, fișiere video, imagini, biblioteci și artefacte de construcție – pot trăi împreună într-un singur depozit. Fără a încetini echipele mari, distribuite.

Vezi singur de ce Helix Core este instrumentul preferat pentru gestionarea fișierelor binare mari.

Gestionați fișierele mari în Helix Core

Apropoi, Perforce are și Git

Ai încă echipe care trebuie să gestioneze fișiere mari în Git? Le puteți aduce în pipeline-ul dvs. de construcție cu instrumentele Perforce Git – Helix4Git și Helix TeamHub.

Helix4Git este un server Git în interiorul unui server Perforce. Helix TeamHub este o soluție de găzduire a codului Git. Aceste instrumente permit echipelor Git să profite de viteza și performanța Helix Core – în timp ce lucrează în Git.

Așadar, puteți utiliza Helix4Git alături de Helix Core pentru a vă aduce depozitul Git în conducta de construcție. Helix4Git le permite dezvoltatorilor dvs. să folosească în continuare instrumentele Git native. Dar își primesc fișierele mult mai repede.

Obțineți:

  • Performanțe mai rapide de construire CI/CD.
  • Suport pentru proiecte multi-repo, depozite de artefacte și chiar un registru de containere Docker.
  • Capacitatea de a adăuga treptat noduri.
  • Replicare și conținut actualizat garantat fără întârzieri, în loc de copiere.

.

Leave a Reply