A Git 2.29.0 az SHA-256 kísérleti támogatásával, fejlesztéseivel és egyebekkel érkezik

A Git az egyik legnépszerűbb verziókezelő rendszer, megbízható és nagy teljesítményű, rugalmas, nem lineáris fejlesztési eszközöket kínál, amelyek elágazáson és egyesítésen alapulnak. Az előzmények integritásának és a változásokkal szembeni ellenálló képességnek a "visszamenőleges hatállyal" történő biztosítása érdekében minden elkötelezettségben az összes korábbi előzmény implicit hasítását alkalmazzák, lehetőség van az egyes címkék digitális aláírásaival történő tanúsításra és a fejlesztők elkötelezésére.

nemrég bejelentették új verzióját, a "Git 2.29.0" -t és az előző verzióhoz képest 627 módosítást fogadtak el az új változatban, 89 fejlesztő részvételével készült, amelyek közül 24-en vettek részt először a fejlesztésben.

Git 2.29.0 legfontosabb új funkciók

Ebben az új verzióban tartalmaz egy kísérleti lehetőséget az SHA-256 hash algoritmus használatára a veszélyeztetett SHA-1 helyett amikor tárgyakat ír a tárba. A kivonat a Git minden objektumának tartalmából jön létre, és egyedi azonosítója. Az objektum adatainak vagy fejlécének bármilyen változása megváltoztatja az azonosítóját. Az ütközések előfordulása a kivonatolási algoritmusban elméletileg nem zárja ki két különböző adatsor kialakulását, amelynek eredménye hash.

Sajnos, kiderült, hogy az SHA-1 algoritmus nem ellenálló a mesterséges ütközések kialakulásával szemben, hanem a Git-ben lévő objektumok SHA-1 ütközések manipulálásával történő helyettesítéséhez szükséges valós támadások végrehajtása, ami nem valószínű, mivel egy különálló objektum törléséhez szükséges, hogy a törölt objektum már tartalmazzon ütközési mintát, vagyis egy tetszőleges blokk pótolható.

Mivel minden ütközés hatalmas számítási erőforrásokat igényel, a már kiszámított sablonok ismertek amelyek ütközésekhez vezetnek, és korábban a Gitben ellenőrzést adtak az objektumokon történő felhasználásra tett kísérletekről.

A fejlesztés ezen szakaszában csak az SHA-1 és az SHA-256 között választhat, de egyelőre nem kombinálhatja a különböző hasheket egy adattárban. Ezenkívül jelenleg egyetlen Git-szolgáltató sem támogatja az SHA-256 kivonatokkal rendelkező tárakat, beleértve a GitHubot sem. A jövőben tervezik a hordozhatósági funkciók hozzáadását.

Az új verzió további változása a parancsban van "Git fetch" és "git push" azoknak, akik támogatja az exkluzív link specifikációkat (refspec), kibővíti a helyi és külső adattárak fiókjainak megfelelő összekapcsolási jogait. A referencia specifikációk kizárása hasznos lehet olyan helyzetekben, amikor nem csak ki kell választania, hanem ki is kell zárnia bizonyos ágakat a leképezésből. Például, amikor ellenőrizni kellett az összes "refs / heads / *" ágat, kivéve az egyiket "refs / heads / * / ref-to-kizárni", először egy teljes listát kellett megadni, minden egyes ágat kifejezetten tartalmazva.

Új mezők kerültek a "git for-each-ref" helyre amelyet a "-format" opcióval lehet megadni, az objektum nevén, típusán és azonosítóján kívül. Például a hozzáadott mezők tartalma: méret, tárgy: fertőtlenítés és módosító: rövid a rövid objektumazonosítók megjelenítéséhez. A hivatkozások szűréséhez több "–merged" és "-no-merged" argumentum is megadható.

Amikor konfliktus lép fel egy "git merge" művelet során, a kötelezettség üzenet fejléce most zárójelben van, hogy egyértelműbben elkülönüljön a Git diagnosztikai üzenetek végrehajtási adatai.

Új "merge.renormalize" beállítást adott hozzá, amikor be van állítva, a háromutas kombináció minden szakaszához a kijelentkezési és a bejelentkezési műveleteket hajtják végre.

A Git kommunikációs protokoll második verziója visszagördült, amelyet a 2.27-es verzióban letiltottak, és akkor használják, amikor az ügyfél távolról csatlakozik egy Git-kiszolgálóhoz. A stabilitási problémákat okozó hibát diagnosztizálták és kijavították.

A "git bisect" parancshoz hozzáadták a "–első szülő" opciótHogy annak a revíziónak az azonosítására szolgál, amelyben regresszív változás történt, az ismert munkamegtekintés és a probléma felmerülő felülvizsgálat között áthaladó elkötelezettségek kiválasztásának megváltoztatása. Ha megadja az „–első-szülő” beállítást, akkor az egyesített ágon csak az elkövetések számítanak, figyelmen kívül hagyva az egyesítési elkötelezettséget.

Javította a "git index-pack" belső parancs hatékonyságát "Git push" vagy "git fetch" végrehajtásakor használják, amikor párhuzamosan indexelik a többmagos rendszereket.

Hozzáadta a "merge.suppressDest" beállítást, amely szabályozza az "in $ dest" kifejezés hozzáadását a "Merge $ upstream into $ dest" üzenetekhez, amelyeket az ágak összevonásakor adnak ki (korábban a "in $ dest" kifejezés alapértelmezés szerint nem volt látható a fő ágnál).

Javítottak egy biztonsági rést a "contrib / mw-to-git" háttérprogramban (alapértelmezés szerint nincs beépítve) az adatok MediaWikiből történő lekérésére és lekérésére. A probléma lehetővé tette a kód végrehajtásának megszervezését egy támadó ellenőrzése alatt álló MediaWiki-példány elérésekor.

Végül, ha többet szeretne tudni 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.