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