A Git projekt kiadta a Git 2.55-öt, amely teljesítményjavításokat, munkafolyamat-fejlesztéseket és új, kísérleti parancsokat hoz a világ legelterjedtebb verziókezelő rendszeréhez.
Linuxon a legfontosabb újdonság a Git beépített filesystem monitor daemonjának támogatása. Korábban a Git saját FSMonitor daemonja csak macOS-en és Windowson volt elérhető. A Git 2.55 már Linuxon is támogatja, és a kernel inotify alrendszerét használja a fájlrendszer-változások követésére.
Ez a fejlesztés várhatóan jelentősen felgyorsítja például a Git status parancsot nagy tárolókban. Ahelyett, hogy a teljes munkakönyvtárat átvizsgálná, a Git a monitor daemonhoz fordul az állományváltozások listájáért.
Linuxon egy dologra külön figyelni kell: a megvalósítás könyvtáranként egy inotify watch-ot használ. Nagyon nagy tárolóknál emiatt szükség lehet a fs.inotify.max_user_watches értékének emelésére. Hálózati megosztásról elérhető tárolókhoz az FSMonitor támogatás továbbra is csak külön engedélyezéssel használható.
A Git 2.55 a tárolókarbantartást is fejleszti, különösen a nagy projektek esetében. A kiadás lehetővé teszi, hogy a Git repack parancs inkrementális multi-pack index láncokat írjon a Git repack --write-midx=incremental opcióval.
Új, kísérleti parancs a Git history fixup <commit>, amely lehetővé teszi, hogy a felhasználó a már stage-elt módosításokat közvetlenül egy korábbi commitra alkalmazza, majd erre újrajátssza a későbbi commitokat.
Ez közvetlenebb alternatívát kínál a Git commit --fixup és Git rebase --autosquash alapú munkafolyamathoz. A parancs azonban továbbra is kísérleti és óvatos: ha a stage-elt módosítás alkalmazása ütközést okozna, a Git inkább megszakítja a műveletet, minthogy a felhasználót egy bonyolult átírási helyzetben hagyja.
A beállított hookok is fejlődtek ebben a kiadásban. A Git 2.54 vezette be a konfiguráció-alapú hookokat, amelyeknél a hookokat nem csak a hooks könyvtárban lévő futtatható fájlokként, hanem közvetlenül a Git konfigurációban is meg lehet adni. A Git 2.55 ezt bővíti azzal, hogy az egymással kompatibilis, konfigurált hookok párhuzamosan is futhatnak.

Például az egymástól független pre-commit ellenőrzések, mint a lintelés és az egységtesztek, mostantól egyszerre is futhatnak, ha biztonságosnak jelölik őket a párhuzamos futtatáshoz. Azok a hookok, amelyek közös állapottól függenek – például az indexet vagy a munkakönyvtárat vizsgálják –, továbbra is sorban futnak.
A teljesítményjavítások a reachability bitmapek generálására is kiterjednek, így a Git gyorsabban tud válaszolni objektum-elérhetőségi lekérdezésekre olyan műveletek során, mint a repack. A kiadásban idézett mérések szerint egy nagy tárolóban a bitmap generálási ideje körülbelül 612 másodpercről 294 másodpercre csökkent.
A partial clone és a szűrt packokra épülő munkafolyamatok a Git pack-objects --path-walk fejlesztéseiből profitálnak. A Git 2.55-ben ez a mód már kombinálható olyan szűrőkkel, mint a blob:none, blob:limit=<n>, tree:0 és mások.
A fentieken túl több kisebb változtatás is bekerült. A Git mostantól alapértelmezetten elfedi a legtöbb terminálvezérlő karaktert a távoli sideband kimenetében, így kisebb az esélye a zavaró vagy nem kívánt terminálviselkedésnek például Git push közben, miközben az ANSI színkódokat továbbra is engedi.
Biztonságosabb lett a Git checkout -m parancs is. Ha a felhasználó helyi módosításokkal vált ágra, a Git egy belső autostash segítségével elmenti az ütköző változtatásokat, amelyeket később újra lehet alkalmazni, ahelyett hogy azonnali feloldást követelne.
Újdonság még a távoli csoportokba történő push támogatása. Ez a funkció leegyszerűsíti ugyanannak az ágnak a közzétételét több távoli tárolóban, például egy fő kiszolgálón és tükrökön. A felhasználó definiálhat egy távoli csoportot, és egyetlen paranccsal mindegyikre pusholhat.
Akik vizuális történetnézetet használnak, azoknak a Git log --graph mostantól kínál egy --graph-lane-limit=<n> opciót. Ez korlátozza a grafikon szélességét, és a határon túli sávokat ~ jellel helyettesíti, így a nagyon széles történetek is olvashatóbbak maradnak a terminálban.
Végül a Git 2.55 bevezeti a --max-count-oldest=<n> opciót a Git rev-list és a Git log parancscsaládhoz. A -n opcióval ellentétben, amely a legfrissebb commitokat választja ki, ez az opció a megadott tartomány legrégebbi commitjait adja vissza, shell oldali utófeldolgozás nélkül.
További részletekért lásd a hivatalos bejelentést.

