A Git 2.37 már megjelent és ezek a hírek

A új verziója Git 2.37, amely az egyik legnépszerűbb verziókezelő rendszerek, megbízható és nagy teljesítményű szoftver, amely rugalmas nemlineáris fejlesztőeszközöket biztosít a villák elágazásán és összevonásán alapulóan.

Az előzmények integritásának és a változásokkal szembeni ellenállásának biztosítása érdekében minden véglegesítésnél az összes korábbi előzmény "visszafelé" implicit hash-je kerül felhasználásra, valamint lehetőség nyílik az egyes címkék digitális aláírásának ellenőrzésére és a véglegesítés fejlesztőinek ellenőrzésére is.

Git 2.37 legfontosabb új funkciók

Az előző verzióhoz képest 395 módosítást fogadtak el az új verzióban, 75 fejlesztő részvételével készült, ebből 20-an először vettek részt a fejlesztésben.

Ebben az új verzióban ezt kiemelik a parciális indexek mechanizmusa (ritka index), amely a tárhelynek csak egy részét fedi le, se széleskörű felhasználásra készült. A részleges indexek javíthatják a teljesítményt és helyet takaríthatnak meg azokban a lerakatokban, amelyek részleges klónozási műveleteket hajtanak végre (ritka kijelentkezés), vagy a lerakat hiányos másolatán dolgoznak.

Az új verzió befejezi a munkáját részleges indexek integrálása a parancsokba "git show", "git sparse-checkout" és "git stash". A részleges indexek használatából adódó legszembetűnőbb teljesítménynövekedés a „git stash” parancsban érhető el, amely bizonyos helyzetekben akár 80%-kal gyorsabb.

Egy másik kiemelkedő változás az új „cruft packs” mechanizmust vezettek be olyan elérhetetlen objektumok becsomagolásához, amelyekre nem hivatkoznak a tárolóban (nem hivatkoznak rájuk ágak vagy címkék). A szemétgyűjtő törli az elérhetetlen objektumokat, de azok egy bizonyos ideig a tárolóban maradnak, mielőtt törli őket, hogy elkerülje a versenykörülményeket. Az elérhetetlen objektumok periódusának nyomon követéséhez kötés szükséges, ezek a hasonló objektumok változási idejével vannak ellátva, ami nem teszi lehetővé, hogy csomagfájlban tárolják őket, amelyben minden objektumnak közös módosítási ideje van.

Minden korábban használt objektumot külön fájlba mentve okozott problémát a fájl nagyszámú új elérhetetlen objektum jelenlétében, még nem. A javasolt "cruft packs" mechanizmus lehetővé teszi az összes elérhetetlen objektum kötegfájlban való tárolását, és az egyes objektumok módosítási idejére vonatkozó adatok egy külön táblázatban jelennek meg, amely egy ".mtimes" kiterjesztésű fájlban van tárolva.

A Windows és a macOS esetében van egy beépített mechanizmus hogy nyomon kövesse a fájlrendszer változásait, amelyek kiküszöböli a teljes munkakönyvtár felsorolásának szükségességét amikor olyan műveleteket hajt végre, mint a "git status". Korábban a változások hookon keresztül történő nyomon követéséhez külső fájlrendszer-változáskövető segédprogramokat lehetett csatlakoztatni, például a Watchman-t, de ehhez további programok és konfigurációk telepítésére volt szükség. Ez a funkció már be van építve, és a "git config core.fsmonitor true" segítségével engedélyezhető.

A parancs A "git sparse-checkout" megszüntette a "--cone" mód alternatívájának támogatását sablon definíció részleges klónozáshoz, amely lehetővé teszi a lerakat klónozási művelet alá eső részének meghatározásakor, hogy az egyes fájlokat a ".gitignore" szintaxis használatával listázza ki, ami nem teszi lehetővé a részleges indexek optimalizálását.

A többi változás közül amelyek kiemelkednek:

  • Fokozott rugalmasság az fsync() hívás konfigurálásakor, hogy a változásokat a lemezre törölje.
  • A "batch" szinkronizálási stratégia támogatása hozzáadva a "core.fsyncMethod" paraméterhez, amely felgyorsítja a munkát nagyszámú különálló fájl írásakor azáltal, hogy egyetlen fsync() hívás által kiürített újraírási gyorsítótárban felhalmozódik a változások.
  • Az olyan bejárási parancsok, mint a „git log” és a „git rev-list”, mostantól rendelkeznek a „–since-as-filter=X” opcióval az „X”-nél régebbi véglegesítések információinak szűrésére.
  • A "git remote" parancsban a "-v" jelző megadása információt nyújt a lerakat részleges klónjairól.
  • Hozzáadott "transfer.credentialsInUrl" beállítás, amely a "warn", "die" és "allow" értékeket veheti fel. Ha a „remote. Az .url" egyszerű szövegben adja meg a hitelesítő adatokat, a "get" vagy "push" műveletek végrehajtása sikertelen lesz, ha a "transfer.credentialsInUrl" beállítása "die", vagy figyelmeztetés, ha az értéket "warn"-ra állítja. .
  • Alapértelmezés szerint a "git add -i" parancs új interaktív módú megvalósítása, amely Perlről C-re íródott át.

Végül ha érdekel, hogy többet tudjon meg róla, ellenőrizheti a részleteket A következő linken.


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.