Hogyan működik a Git LFS:

A fejlesztési csapatok világszerte a Git-et használják a forráskód kezelésére. És sokan használják a Git LFS-t – Git Large File Storage – a nagyméretű fájlok kezelésére és tárolására. Itt részletezzük, mit tud a Git LFS, és mikor érdemes használni.

A Git képes kezelni a nagy fájlokat?

A Git önmagában nem képes kezelni a nagy fájlokat. Ezért sok Git-csapat hozzáadja a Git LFS-t a nagy fájlok kezelésére a Gitben.

Mi a Git LFS (Git Large File Storage)?

A Git LFS egy Git-kiterjesztés, amelyet a nagy fájlok és bináris fájlok külön Git-tárban történő kezelésére használnak.

A legtöbb projekt manapság kóddal és bináris állományokkal egyaránt rendelkezik. A nagy bináris fájlok tárolása a Git tárolókban pedig szűk keresztmetszetet jelenthet a Git felhasználók számára.

Ez az oka annak, hogy egyes Git-felhasználók a Git Large File Storage (LFS) szolgáltatással egészítik ki.

Hogyan működik a Git LFS?

A Git LFS a tényleges fájlok vagy bináris nagy objektumok (blobok) helyett mutatókat használ.

Ez azt jelenti, hogy ahelyett, hogy nagyméretű fájlokat/blobokat írnánk egy Git tárolóba, egy mutatófájlt írunk. Maguk a fájlok/blobok pedig egy külön szerverre íródnak. A Git LFS-ben akár több szervert is használhatsz.

A kezdés meglehetősen egyszerű. Letölti a kiterjesztést, és beállítja a fájltípusokat.

A Git LFS használata lehetővé teszi a nagyméretű fájlok verziózását (és a blobok kezelését), miközben helyet szabadít fel a Git tárolókban. És a Git LFS gyakran megoldja a nagy fájlok GitHubra való tolását.

Git problémák az LFS-en túl

A Gitnek a Git LFS-en túl is vannak problémái. És a biztonság egy nagy probléma. A natív Gitből hiányzik a biztonság, és a Git biztonságát szolgáló kiegészítő lehetőségek sem nagyszerűek. Tudja meg, mit kell tennie a Git biztonsága érdekében a fehér könyvünkben – Hogyan zárjuk le a Gitet.

Lock Down Git

Kell-e használnom a Git LFS-t?

A Git LFS-t akkor érdemes használni, ha nagyméretű fájlokat vagy bináris fájlokat kell tárolni a Git tárolókban.

Ez azért van, mert a Git decentralizált. Tehát minden fejlesztőnek ott van a teljes változtatási előzmény a gépén. A nagy bináris fájlok változásai pedig azt okozzák, hogy a Git tárolók a fájl méretével nőnek minden egyes alkalommal, amikor a fájl változik (és a változást commitolják). Ez azt jelenti, hogy a fájlok megszerzése hosszú időbe telik. És ha mégis, akkor nehéz lesz a binárisok verziózása és egyesítése.

Szóval, minden alkalommal, amikor a fájlok nőnek, a Git-tár is nő. És amikor a Git felhasználóknak le kell hívniuk és klónozniuk kell a tárolót, ez problémákat okoz.

A Git LFS azért jött létre, hogy megoldja ezeket a problémákat. De vannak saját problémái is…

Mikor a Git Large File Storage nem működik

A Git LFS működik. De a csapatok folyamatosan azt mondják, hogy nehéz kezelni. Így, annak ellenére, hogy maga a Git ingyenes, a termelékenységet növelheti.

A Git LFS telepítése minden szerverre és munkaállomásra (és/vagy repóra) időigényes. Az adminisztrátorokat is megterheli. Ha egyszer telepítették, nincs rálátás és kevés ellenőrzés van felette. És ha néhány fejlesztő nem rendelkezik a Git LFS kiterjesztéssel? Összeomlik a rendszer.

Extralépéseket igényel a Git Large File Storage karbantartása a build runnerekkel, például a Jenkins-szel. Ez extra időhöz vezet – és extra bonyolultsághoz.

Mindez teljesítményproblémákhoz vezethet.

A Git LFS alternatívái

A Git LFS nem az egyetlen módja a nagy fájlok kezelésének a Gitben. Vannak alternatívák.

Ezek közé tartoznak más nyílt forráskódú vagy harmadik féltől származó javítások, mint például:

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

De a Git LFS-hez hasonlóan ezek a Git nagy fájlok tárolási lehetőségei is problémákat okozhatnak. Van egy jobb módja a nagy fájlok és bináris fájlok kezelésének.

A legjobb verziókezelő a nagy bináris fájlok számára: Helix Core

A mai projektek nagyobbak, több fájlt és vegyes eszközt tartalmaznak, mint valaha. A Git és a Git LFS önmagában nem képes ezt kezelni. A Helix Core azonban igen.

A Helix Core – a Perforce verziókezelő szoftvere – a legjobb választás a nagy bináris fájlok kezelésére. Ez azért van, mert a nagyméretű fájlok tárolása egy natív képesség, nem pedig egy kiegészítő. És golyóálló.

A Helix Core-ban a bináris állományokat a forráskóddal együtt tárolhatja. Valójában az összes legnagyobb fájl – bináris fájlok, forráskód, művészeti fájlok, videofájlok, képek, könyvtárak és építési leletek – együtt élhetnek egyetlen tárolóban. Anélkül, hogy lelassítaná a nagy, elosztott csapatokat.

Nézze meg saját szemével, miért a Helix Core a legmegfelelőbb eszköz a nagy bináris fájlok kezelésére.

Nagyméretű fájlok kezelése a Helix Core-ban

Apropó, a Perforce-nak is van Gitje

Még vannak olyan csapatai, amelyeknek nagyméretű fájlokat kell kezelniük a Gitben? A Perforce Git eszközeivel – a Helix4Git és a Helix TeamHub – bevonhatja őket a build pipeline-ba.

A Helix4Git egy Git-kiszolgáló a Perforce-kiszolgálón belül. A Helix TeamHub egy Git kód hosting megoldás. Ezek az eszközök lehetővé teszik a Git-csapatok számára, hogy kihasználják a Helix Core sebességét és teljesítményét – miközben Git-ben dolgoznak.

A Helix4Git-et tehát a Helix Core mellett használhatja a Git-tárházának a build pipeline-ba való bevonására. A Helix4Git lehetővé teszi, hogy a fejlesztői továbbra is használhassák a natív Git eszközeiket. De sokkal gyorsabban jutnak hozzá a fájljaikhoz.

A következőket kapja:

  • Gyorsabb CI/CD építési teljesítmény.
  • Támogatás több repóból álló projektekhez, artifact-repositoriumokhoz és még Docker konténer-nyilvántartáshoz is.
  • A csomópontok fokozatos hozzáadásának lehetősége.
  • Replikáció és garantáltan naprakész tartalom késedelem nélkül, másolás helyett.

Másolás helyett.

Leave a Reply