Néhány napja bejelentették A Git 2.50 projekt új verziójának megjelenése, több mint 600 változtatást vezet be egy aktív közösség által vezérelve, amely ezúttal 98 fejlesztőt foglalt magában, köztük 35 új közreműködőt.
A Git 2.50 új verziójának kiemelkedő elemei az új parancsok (git-diff-pairs), az új tisztítási, szűrési és karbantartási függvények integrációja, a rekurzív egyesítési motor ORT-re való lecserélése, valamint a teljesítménybeli fejlesztések és hibajavítások.
Git 2.50 legfontosabb új funkciók
A Git 2.50 új verziójában az egyik legfontosabb új funkció a optimalizálás az úgynevezett „cruft pack” kezelésében, Vagyis olyan objektumcsomagok, amelyekhez nem lehet hozzáférni, vagy amelyekre ágak vagy címkék nem hivatkoznak. Hagyományosan a Git ezeket az objektumokat egyetlen, nagy csomagfájlban tárolta, ami teljesítményproblémákat okozhatott a sok ilyen elemet tartalmazó adattárak újracsomagolásakor.
Az új verzióval A Git lehetővé teszi, hogy ezeket a cruft csomagokat több kisebb fájlra bontsd, ami csökkenti a lemezhasználatot és javítja a bemeneti/kimeneti teljesítményt tömeges műveletek esetén. Ezenkívül aés írd be a –combine-cruft-below-size opciót, amely lehetővé teszi a kisebb csomagokat rugalmasabban kombinálhatja egyetlen csomaggá mint az előző –max-cruft-size opció, anélkül, hogy korlátozná az egyesített fájlméretet. Ez az új funkció különösen hasznos azokban a projektekben, amelyekben árva objektumok vannak több csomagban szétszórva.
Egy másik, a nagyméretű adattárakat célzó fejlesztés a kísérleti támogatása a fokozatos frissítés MIDX indexek , melyik Külön rétegekben tárolják az objektumokról szóló információkat bitképes fájlok használata, ami gyorsabb frissítést tesz lehetővé új véglegesítések hozzáadásakor. Ez a fejlesztés kritikus fontosságú a nagyméretű adattárak számára, amelyek gyors indexelési műveleteket igényelnek anélkül, hogy a metaadatokat teljesen újra kellene építeni.
A rekurzív egyesítési motor teljes cseréje ORT-re
A Git 2.50 jelentős változást vezet be a következőkkel kapcsolatban: a rekurzív fúziós motor végleges eltávolítása hagyományos. Ehelyett az ORT használata megszilárdulegy modernebb, karbantarthatóbb és hatékonyabb fúziós motor. Az ORT nemcsak pontosabb konfliktuselemzést kínál, hanem lehetővé teszi annak ellenőrzését is, hogy lehetséges-e egy egyesítés további objektumok létrehozása nélkül. Továbbá a merge-tree parancs mostantól tartalmaz egy –quiet kapcsolót, amely csendes egyesítés-ellenőrzőként használható a tároló módosítása nélkül.
gitt-diff-pairs: a skálázhatósági problémák megoldása
A kódellenőrzés kétségtelenül a modern kollaboratív fejlesztés egyik pillére, és a revíziók közötti különbségek vagy eltérések fontos szerepet játszanak ebben a folyamatban. A Git 2.50 megjelenésével egy skálázhatóságra tervezett megoldás is megjelent: az új git-diff-pairs parancs.
Hagyományosan két verzió összehasonlítására a következő parancsot használjuk:
git diff HEAD~1 HEAD
Ez egy teljes javítást generál, amely tartalmazza a felsorolt verziók közötti összes változtatást. Bár sok esetben hatékony, teljesítménybeli problémát jelenthet nagyszámú módosított fájl kezelésekor.
Ezért a git-diff-pairs-t kifejezetten úgy tervezték, hogy nyers bemenetet fogadjon közvetlenül a git diff-tree kimenetéből, és hatékonyan és pontosan generálja a megfelelő javításokat.
A használat olyan egyszerű, mint:
git diff-tree -r -z -M HEAD~ HEAD | git diff-pairs -z
Ez a parancs a megadott blob párokból generálja a pontos diff kimenetet, megőrzi a kontextuális információkat, és lehetővé teszi a munka kisebb kötegekre osztását. Ez megnyitja az utat a párhuzamos feldolgozás előtt, javítja az erőforrás-hatékonyságot, és megkönnyíti a skálázhatóságot a diff-alapú eszközökben, mint például a GitLab.
Új funkciók a tisztításhoz, szűréshez és karbantartáshoz
A Git 2.50 számos további eszközt tartalmaz, amelyek célja a tárház karbantartásának javítása:
- A parancs hozzáadva git reblog csepp, amely lehetővé teszi egy adott ág reflogjának teljes törlését, ami ideális a munkaelőzmények törléséhez, amikor már nincs szükség a korábbi hivatkozások karbantartására.
- A választás -szűrő A cat-file –batch mostantól elérhető a gitben, lehetővé téve az eredmények objektumtípus szerinti szűrését.
Ezenkívül számos belső optimalizálást is kiemelünk:
- A szimbolikus linkek jobb használata, előtag-gyorsítótárazással és a redundáns ellenőrzések csökkentésével.
- A Perl-függőségek eltávolítása a dokumentációból és a tesztszkriptekből, helyettesítésük shell-függvényekkel vagy C implementációkkal, így könnyebben fordíthatók minimalista konfigurációjú rendszereken.
- Beleértve egy vezérlőt is felhasználói különbség az .ini fájlok közötti különbségek elemzéséhez.
- A git send-email parancs SMTP-kiszolgálókkal, például az Outlookkal való kompatibilitásának javítása.
Végül, ha többet szeretne megtudni róla, a részletekről tájékozódhat a következő link.