Skip to main content

A Git 2.54 újdonságai számos hasznos fejlesztést hoznak, amelyek megkönnyítik a napi fejlesztési feladatokat. Az új parancsok és konfigurációs lehetőségek a repository-kezelést egyszerűbbé és hatékonyabbá teszik. Ebben a cikkben a legfontosabb változások kerülnek sorra, amelyek a fejlesztői munkafolyamatot gyorsíthatják fel.

Git 2.54 újdonságai: egyszerűbb history-átírás a git history paranccsal

A git history parancs egy új experimentális funkció, amely leegyszerűsíti az olyan gyakori feladatokat, amelyekhez korábban az interaktív rebase kellett. Ez a parancs két alapvető műveletet támogat: a reword és a split, amelyek a leggyakoribb history-szerkesztési igényeket fedik le.

A git history reword parancs egy commit üzenetének módosítását teszi lehetővé anélkül, hogy a working tree vagy az index érintett lenne. Szerkesztőt nyit az adott commit üzenetével, és a felhasználó szabadon átírhatja azt. Ez különösen hasznos, ha egy régebbi commit szövegét kell javítani a teljes interaktív rebase nélkül. A parancs még bare repository-ban is fut, ami további rugalmasságot ad.

A git history split parancs egy commitot bont fel két commitra hunk-szintű szelekcióval. A felülete hasonló a jól ismert git add -p-hez, amely a fájl meghatározott részeinek kiválasztását engedi. Futás után új parent commit jön létre a kiválasztott hunkokkal, a maradék hunkok pedig az eredeti commitben maradnak. A descendant branch-ek automatikusan az új history-ra mutatnak, így nincs szükség manuális kezelésre.

Ez az új parancs egyszerűbb esetekre kínál alternatívát a git rebase -i helyett. Három committal korábbi üzenet javítása vagy egy commit szétvágása így gyorsabb. A konfliktus-heavy, bonyolultabb rebase feladatok továbbra is az interaktív rebase hatáskörébe tartoznak.

Konfigurációalapú hookok: új módszer a repo-szintű automatizáláshoz

A Git hookok eddig csak a .git/hooks/ könyvtárban elhelyezett scriptekben vagy a globális core.hooksPath opción át voltak definiálhatók. A 2.54 új szintaxist vezet be, amely a hookokat közvetlenül a Git config fájlba helyezi. Az új formátum egy [hook „linter”] szekciót használ, benne az event = pre-commit és command = ~/bin/… mezőkkel.

Az újítás lehetővé teszi, hogy a globális és a repo-specifikus hookok egyszerre fussanak. A fejlesztőcsapatok a megosztott hookokhoz többé nem szorulnak harmadik féltől származó hook-managerre vagy symlink-megoldásokra. Az olyan eszközök, mint a pre-commit vagy a husky, sok esetben kiválthatók ezzel a natívan a Git-be épített konfigurációs módszerrel.

A konfigurációalapú hookok nem törik meg a meglévő .git/hooks/ scripteket. A Git teljes visszamenőleges kompatibilitást biztosít, így a régi script-alapú hookok tovább működnek. A csapatok fokozatosan átmigrálhatják a hookjaikat az új formátumra anélkül, hogy egyszerre kellene mindent módosítaniuk. Egy közös lint-beállítás például a céges globális config-ba kerülhet, míg a projekt-specifikus szabályok a repo configjában maradnak. A Biome 2.4 lint-szabályokhoz hasonlóan az automatizált kódminőség-biztosítás így még rugalmasabbá válik.

Geometric repack alapértelmezetten a git maintenance-ben

A git maintenance run parancs alapértelmezett stratégiája megváltozott a 2.54-ben. Korábban a garbage collection volt az alapértelmezett, mostantól a geometric stratégia veszi át a szerepet. A geometric repack csak azokat a packfile-okat egyesíti, amelyek geometric progresszióba rendezhetők objektumszám alapján.

Ez az átváltás nagyobb repositoryknál érzékelhető teljesítményelőnyt hoz. A korábbi megközelítés minden maintenance futásnál az összes objektumot újra felpackolta, ami számításigényes volt. Az új geometric módszer inkrementálisan tömörít, így a rendszeres karbantartás nem eszkalálódik drága all-into-one repack-ké. Az olyan workflow-k, amelyek a GitHub Copilot automatikus PR review megoldásra épülnek, hasonlóan profitálnak a gyorsabb maintenance-ből.

A geometric stratégia a 2.52 óta opt-in volt a maintenance.strategy beállítással. A 2.54-ben ez lett az alapértelmezett manuális futáskor. Nagy monorepokkal dolgozó csapatok érezhetően gyorsabb maintenance-ciklust tapasztalhatnak. A autonóm fejlesztési megoldások is profitálnak az optimalizált stratégiából.

A Git 2.54 ezekkel az újításokkal a fejlesztői munkamenet hatékonyságát javítja. Az egyszerűbb history-szerkesztés, a konfigurációs hookok és a gyorsabb maintenance-rutin kevesebb infrastruktúra-karbantartást és több időt hagy a kódolásra. A kiadás 137 közreműködő munkájának eredménye, közülük 66 új contributor. További részletek a GitHub blog Git 2.54 cikkében és a hivatalos Git dokumentációban érhetők el.

Humli Miklós

Több mint 15 éve dolgozom a digitális termékfejlesztés világában, elsősorban webdesign, frontend, backend és WordPress fejlesztés területén. Tapasztalataimat kis- és nagyvállalati projekteken, valamint szabadúszóként és csapatvezetőként szereztem.

Humli Miklós | Blog
Adatvédelmi áttekintés

Ez a weboldal sütiket használ, hogy a lehető legjobb felhasználói élményt nyújthassuk. A cookie-k információit tárolja a böngészőjében, és olyan funkciókat lát el, mint a felismerés, amikor visszatér a weboldalunkra, és segítjük a csapatunkat abban, hogy megértsék, hogy a weboldal mely részei érdekesek és hasznosak.