Miten Git LFS toimii:

Kehitystiimit ympäri maailmaa käyttävät Gitiä lähdekoodin hallintaan. Ja monet käyttävät Git LFS:ää eli Git Large File Storagea suurten tiedostojen hallintaan ja tallentamiseen. Tässä selvitämme, mitä Git LFS tekee ja milloin sitä kannattaa käyttää.

Käsitteleekö Git suuria tiedostoja?

Git ei pysty käsittelemään suuria tiedostoja yksinään. Siksi monet Git-tiimit lisäävät Git LFS:n käsittelemään suuria tiedostoja Gitissä.

Mikä on Git LFS (Git Large File Storage)?

Git LFS on Git-laajennus, jota käytetään suurten tiedostojen ja binääritiedostojen hallintaan erillisessä Git-tietovarastossa.

Useimmissa projekteissa on nykyään sekä koodia että binääritiedostoja. Ja suurten binääritiedostojen tallentaminen Git-arkistoihin voi olla pullonkaula Gitin käyttäjille.

Sentähden jotkut Git-käyttäjät lisäävät Git Large File Storage (LFS) -palvelun.

Miten Git LFS toimii?

Git LFS käyttää osoittimia varsinaisten tiedostojen tai suurten binääriobjektien (blobien) sijasta.

Siten sen sijaan, että kirjoittaisit suuria tiedostoja/blobeja Git-tietovarastoon, kirjoitat osoitintiedoston. Ja itse tiedostot/blobit kirjoitetaan erilliselle palvelimelle. Voit jopa käyttää useita palvelimia Git LFS:ssä.

Aloittaminen on melko suoraviivaista. Lataat laajennuksen ja määrität tiedostotyypit.

Git LFS:n käyttäminen mahdollistaa suurten tiedostojen versioinnin (ja blobien hallinnan) samalla kun vapautat tilaa Git-arkistoissa. Ja Git LFS on usein korjaus suurten tiedostojen työntämiseen GitHubiin.

Git-ongelmat LFS:n lisäksi

Gitillä on muitakin ongelmia kuin Git LFS. Ja tietoturva on iso niistä. Natiivista Gitistä puuttuu tietoturva, eivätkä lisävaihtoehdot Gitin suojaamiseksi ole kummoisia. Lue, mitä sinun pitäisi tehdä Gitin tietoturvan suhteen valkoisesta paperistamme – How to Lock Down Git.

Lock Down Git

Should I Use Git LFS?

Sinun kannattaa käyttää Git LFS:ää, jos sinulla on suuria tiedostoja tai binääritiedostoja tallennettavana Git-arkistoissa.

Se johtuu siitä, että Git on hajautettu. Jokaisella kehittäjällä on siis koko muutoshistoria tietokoneellaan. Ja suurten binääritiedostojen muutokset aiheuttavat sen, että Git-tietovarastot kasvavat kyseisen tiedoston koon verran joka kerta, kun tiedostoa muutetaan (ja tämä muutos siirretään). Tämä tarkoittaa, että tiedostojen saaminen kestää ikuisuuden. Ja jos se onnistuu, on vaikeaa versioida ja yhdistää binääritiedostoja.

Siten joka kerta kun tiedostot kasvavat, Git-tietovarasto kasvaa. Ja kun Git-käyttäjien täytyy hakea ja kloonata arkisto, tämä aiheuttaa ongelmia.

Git LFS luotiin ratkaisemaan nämä ongelmat. Mutta sillä on omat ongelmansa…

Kun Git Large File Storage ei toimi

Git LFS toimii. Mutta tiimit kertovat jatkuvasti, että sitä on vaikea hallita. Joten vaikka Git itsessään on ilmainen, se voi aiheuttaa tuottavuuskustannuksia.

Git LFS:n asentaminen jokaiselle palvelimelle ja työasemalle (ja/tai repolle) vie aikaa. Se myös kuormittaa ylläpitäjiä. Kun se on kerran asennettu, se ei ole näkyvissä eikä sitä voi juurikaan valvoa. Entä jos joillakin kehittäjillä ei ole Git LFS -laajennusta? Se hajoaa.

Git Large File Storage -laajennuksen ylläpitäminen build-runnereiden, kuten Jenkinsin, kanssa vaatii ylimääräisiä toimenpiteitä. Tämä johtaa ylimääräiseen aikaan – ja ylimääräiseen monimutkaisuuteen.

Kaikki tämä voi johtaa suorituskykyongelmiin.

Vaihtoehtoja Git LFS:lle

Git LFS ei ole ainoa tapa hallita suuria tiedostoja Gitissä. On olemassa vaihtoehtoja.

Tämä sisältää muita avoimen lähdekoodin tai kolmannen osapuolen korjauksia, kuten esim: On olemassa parempi tapa hallita suuria tiedostoja ja binääritiedostoja.

Paras versionhallinta suurille binääritiedostoille: Helix Core

Tämän päivän projektit ovat suurempia, ja niissä on enemmän tiedostoja ja sekalaisia aineistoja kuin koskaan ennen. Git ja Git LFS eivät yksinään pysty hallitsemaan sitä. Mutta Helix Core pystyy.

Helix Core – Perforcen versionhallintaohjelmisto – on paras vaihtoehto suurten binääritiedostojen hallintaan. Tämä johtuu siitä, että suurten tiedostojen tallennus on natiivi ominaisuus, ei lisäosa. Ja se on luodinkestävä.

Helix Coressa voit tallentaa binääritiedostoja lähdekoodin rinnalla. Itse asiassa kaikki suurimmat tiedostosi – binääritiedostot, lähdekoodi, taidetiedostot, videotiedostot, kuvat, kirjastot ja rakentamisen artefaktit – voivat elää yhdessä ja samassa arkistossa. Hidastamatta suuria, hajautettuja tiimejä.

Katso itse, miksi Helix Core on paras työkalu suurten binääritiedostojen hallintaan.

Suurten tiedostojen hallinta Helix Coressa

Sivumennen sanottuna Perforcessa on myös Git

Onko sinulla vielä tiimejä, jotka joutuvat hallitsemaan suurten tiedostojen hallintaa Gitissä? Voit ottaa ne mukaan rakennusputkeen Perforce Git -työkaluilla – Helix4Git ja Helix TeamHub.

Helix4Git on Git-palvelin Perforce-palvelimen sisällä. Helix TeamHub on Git-koodin hosting-ratkaisu. Näiden työkalujen avulla Git-tiimit voivat hyödyntää Helix Coren nopeutta ja suorituskykyä – samalla kun työskentelevät Gitissä.

Voit siis käyttää Helix4Gitiä Helix Coren rinnalla tuodaksesi Git-tietovarastosi osaksi rakennusputkea. Helix4Git antaa kehittäjiesi käyttää edelleen omia Git-työkalujaan. Mutta he saavat tiedostonsa paljon nopeammin.

Saat:

  • Nopeamman CI/CD-rakentamissuorituskyvyn.
  • Tuen usean repon projekteille, artefaktirekistereille ja jopa Docker-säiliörekisterille.
  • Mahdollisuuden lisätä solmuja asteittain.
  • Replikoinnin ja taatusti ajantasaisen sisällön viiveettömällä kopioinnilla kopioinnin sijaan.

Kopioinnin avulla.

Leave a Reply