Git forrásszövegkezelő rendszer 2.35-ös kiadás.

Két hónapos fejlesztés után megjelent a Git 2.35, a forráskódok elosztott kezelésére szolgáló rendszer. A Git az egyik legnépszerűbb, legmegbízhatóbb és legnagyobb teljesítményű verziókezelő rendszer, rugalmas eszközöket biztosít a nemlineáris fejlesztéshez, valamint az ágazás és összevonás alapelveit követi. Az előzmények integritásának és a visszamenőleges változtatásokkal szembeni ellenállás biztosítása érdekében a rendszer implicit módon hasheli a korábbi teljes előzménysort minden egyes commitban; lehetőség van a fejlesztők digitális aláírásainak használatára is az egyes tagek és commitok hitelesítésére.

A múltbeli kiadáshoz képest az új verzióba 494 módosítást fogadtak el, amelyeket 93 fejlesztő készített, ebből 35 szakember először vett részt a fejlesztésben. A főbb újdonságok:

  • Bővültek az SSH-kulcsok használatának lehetőségei a Git-objektumok digitális aláírással történő hitelesítésére. Az időszakos kulcsok kezelésére az OpenSSH ‘valid-before’ és ‘valid-after’ direktívák támogatása került hozzáadásra, amely lehetővé teszi a digitális aláírások megfelelő működését egy fejlesztő kulcscsere után. Korábban problémát jelentett az aláírások elválasztása a régi és az új kulcs között; ha a régi kulcsot eltávolították, lehetetlenné vált a vele készült aláírások ellenőrzése, míg ha megtartották, új aláírások létrehozására nyílt lehetőség a régi kulccsal, amelyet már egy másik kulcs váltott fel. A ‘valid-before’ és ‘valid-after’ használatával a kulcsok hatóköre az aláírás létrehozásának időpontja alapján elkülöníthető.
  • A merge.conflictStyle beállításnál, amely lehetőséget biztosít a konfliktusok megjelenítésének módjának kiválasztására az összevonás során, megjelent a ‘zdiff3’ mód, amely az összes szabványos sort a konfliktus zónáján kívülre helyezi, amelyeket a konfliktus elején vagy végén határoztak meg, lehetővé téve ezzel a kompaktabb információmegjelenítést.
  • A `git stash` parancshoz hozzáadódott a `--staged` mód, amely lehetővé teszi csak az indexbe hozzáadott változtatások elrejtését, például olyan helyzetekben, amikor ideiglenesen félre kell tenni a bonyolult változtatások egy részét, hogy először azt adjuk hozzá, ami már kész, a többit pedig később rendezhetjük. A mód hasonlít a `git commit` parancsra, amely csak az indexbe helyezett változtatásokat rögzíti, de új commit létrehozása helyett a `git stash --staged` az eredményt a stash ideiglenes területére menti. Miután a változtatásokra szükség van, azokat a `git stash pop` parancs segítségével vissza lehet állítani.
  • A `git log` parancshoz új formátum specifikátor `--format=%(describe)` került hozzáadásra, amely lehetővé teszi a `git log` kimenetének összevonását a `git describe` parancs végrehajtásának eredményével. A `git describe` paraméterei közvetlenül a specifikátorban adhatók meg (`--format=%(describe:match=,exclude=)`), ahol rövidített címkék is szerepelhetnek (`--format=%(describe:tags=)`) és a hexadecimális azonosítók számát is beállíthatjuk (`--format=%(describe:abbrev=)`). Például, a legutolsó 8 commit előállításához, melyekhez nem tartozik kiadási jelölés, és 8 karakteres azonosítók megadásához a következő parancs használható: $ git log -8 --format='%(describe:exclude=*-rc*,abbrev=13)' v2.34.1-646-gaf4e5f569bc89 v2.34.1-644-g0330edb239c24 v2.33.1-641-g15f002812f858 v2.34.1-643-g2b95d94b056ab v2.34.1-642-gb56bd95bbc8f7 v2.34.1-203-gffb9f2980902d v2.34.1-640-gdf3c41adeb212 v2.34.1-639-g36b65715a4132
  • A user.signingKey beállításban új kulcstípusok támogatása valósult meg, amelyek nem korlátozódnak az `ssh-` típusra és a kulcs teljes fájlútvonalának megadására. Alternatív típusok a `key::` prefix segítségével definiálhatók, például `key::ecdsa-sha2-nistp256` az ECDSA kulcsokhoz.
  • Jelentősen megnövekedett a változások listájának előállítási sebessége a `--histogram` módban, valamint a `--color-moved-ws` opció használata során, ami a színes diff-ben a szóközök kiemelését vezérli.
  • A `git jump` parancsban, amely a Vim számára információt biztosít a fájlban végzett pontos ugrásokról az egyesítési konfliktusok feloldásakor, eltérések áttekintésekor vagy keresési művelet során, lehetőség nyílik a kezelt egyesítési konfliktusok szűkítésére. Például, ha csak a `foo` könyvtárat akarjuk korlátozni, akkor a `git jump merge -- foo` parancsot használhatjuk, míg a `Documentation` könyvtár kezeléséből való kizárásához a `git jump merge -- ':^Documentation'` parancsot adhatjuk meg.
  • A munka a «size_t» típus alkalmazásának standardizálásán történt, amely lehetővé tette, hogy 4 GB-ot meghaladó fájlokkal használhassuk a «clean» és «smudge» szűrőket minden platformon, beleértve az LLP64 adatmódellel rendelkező platformokat, ahol az «unsigned long» típust 4 bájt korlátozza.
  • A «git am» parancshoz hozzáadva lett az «—empty=(stop|drop|keep)» opció, amely lehetővé teszi az üres levelek, amelyek nem tartalmaznak javításokat, feldolgozási viselkedésének megválasztását. A «stop» érték leállítja az összes javítás alkalmazását, a «drop» figyelmen kívül hagyja az üres javítást, a «keep» pedig létrehoz egy üres elágazást.
  • A «git reset», «git diff», «git blame», «git fetch», «git pull» és «git ls-files» parancsok támogatják a részleges indexeket (sparse index), amelyek javítják a teljesítményt és helyet takarítanak meg az olyan repozitóriumokban, amelyekben részleges klónozási (sparse-checkout) műveletek zajlanak.
  • A «git sparse-checkout init» parancs elavultnak nyilvánítva, a jövőben a «git sparse-checkout set» használata javasolt.
  • Bevezetésre került az új «reftable» backend kezdeti megvalósítása a repozitóriumban lévő hivatkozások, például elágazások és címkék tárolására. Az új backend blokkalapú tárolást használ, amelyet a JGit projekt alkalmaz, és amely optimalizálva van nagyon nagy számú hivatkozás tárolására. A backend jelenleg még nem integrálódott a hivatkozási rendszerrel és nem készült el gyakorlati használatra.
  • A «git grep» parancs színpalettája igazodott a GNU grep segédprogramhoz.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster