Több mint két hónappal a 2.53-as kiadás után a szoftverfejlesztésben széles körben használt, elosztott verziókezelő rendszer, a Git megjelentette a 2.54-es verziót.
A legfontosabb újdonság a kísérleti
Git history
parancs, amely a history átírásával kapcsolatos feladatokat hivatott egyszerűsíteni. Jelenleg a
reword
és a
split
műveleteket támogatja, így a felhasználók frissíthetik a commit üzeneteket, illetve felbonthatnak commitokat anélkül, hogy teljes interaktív rebase-re lenne szükség.
Ennek azért van jelentősége, mert a
Git rebase -i
ugyan nagyon erős eszköz, kisebb módosításokhoz viszont sokszor indokolatlanul bonyolult. Ezzel szemben a
Git history reword
közvetlenül frissíti a commit üzeneteket, a
Git history split
pedig interaktívan áthelyezi a kiválasztott változtatásokat egy új szülő commitba. Az új parancs nem módosítja a working tree-t és az indexet, és bare tárolókon is működik.
Egy másik fontos frissítés a konfigurációalapú hookok bevezetése. Korábban a Git hookok a
.Git/hooks
alatti scriptekre vagy egy megosztott
core.hooksPath
útvonalra korlátozódtak, ami megnehezítette az újrahasznosítást több tároló között. A Git 2.54-ben a hookokat már konfigurációs fájlokban is meg lehet adni, ami egyszerűbbé teszi a megosztott hook-viselkedés kezelését felhasználói, rendszerszintű vagy tárolószinten.
A Git belső hookkezelését is frissítették, hogy támogassa ezt az új modellt. Több beépített hook már az új hook API-t használja, így a konfigurációalapú kezelés előnyei a Git hookrendszerének nagyobb részében is megjelennek.
A tárolókarbantartás terén a Git 2.54 mostantól a geometriai repackelést használja alapértelmezett stratégiaként a kézi karbantartási futtatásoknál. Ennek eredményeként a
Git maintenance run
alapértelmezés szerint inkrementálisabb repackelési megközelítést alkalmaz, ami csökkentheti a karbantartási költségeket, és naprakészen tarthatja az adatstruktúrákat.
A Git 2.54 emellett több hasznos fejlesztést is hoz. Az interaktív
Git add -p
munkafolyamat most jobb rálátást ad a korábban elfogadott vagy kihagyott hunkokra, és kapott egy
--no-auto-advance
opciót is, amellyel az utolsó hunkról hozott döntés után a program a jelenlegi fájlon marad.
A kiadás a Git HTTP-szállítási viselkedését is javítja: a Git mostantól a HTTP 429-es („Too Many Requests”) válaszokra újrapróbálkozással reagál, ahelyett hogy végzetes hibaként kezelné őket. A működés figyelembe veszi a szerver Retry-After fejlécét, és új konfigurációs lehetőségeket is kapott az újrapróbálkozások számához és időzítéséhez.
A partial clone munkafolyamatok is fejlődtek. A kísérleti
Git backfill
parancs most már revíziótartományokat és pathspec argumentumokat is elfogad, így a felhasználók egy adott history-szakaszhoz vagy a fa egy részéhez tudják letölteni a hiányzó blobokat, ahelyett hogy minden adatot a HEAD-től kérnének le.
A Git 2.54 további újdonságai közé tartozik a nem ASCII aliasnevek támogatása, a
Git log -L
továbbfejlesztése, valamint a
Git replay
javítása, amely már az új
Git history
parancsot is támogatja. Összességében ez a kiadás inkább a mindennapi munkafolyamatok finomítására koncentrál a Git különféle felhasználási módjai mellett, nem pedig egyetlen nagy változás bevezetésére.
A Git 2.54 összes változásáról további részletekért nézd meg a kiadási bejelentést.

