Az elosztott forrás vezérlőrendszer Git 2.23 kiadása

Által benyújtott az elosztott forrásvezérlő rendszer kiadása git 2.23.0. A Git az egyik legnépszerűbb, legmegbízhatóbb és nagy teljesítményű verziókezelő rendszer, amely rugalmas, nem lineáris fejlesztőeszközöket biztosít elágazáson és ágak összevonásán alapulóan. Az előzmények integritásának és az utólagos változásokkal szembeni ellenállásnak biztosítása érdekében minden egyes commit során a teljes korábbi előzmény implicit kivonatolása történik, valamint lehetőség van az egyes címkék és commitok fejlesztőinek digitális aláírásának ellenőrzésére is.

Az új verzió az előző kiadáshoz képest 505 változtatást tartalmazott, 77 fejlesztő részvételével készült, ebből 26 először vett részt a fejlesztésben. Alapvető innovációk:

  • Kísérleti "git switch" és "git restore" parancsok kerülnek bevezetésre, hogy elkülönítsék a lazán összekapcsolt "git checkout" képességeket, mint például az ágak manipulálása (váltás és létrehozás) és a fájlok visszaállítása a munkakönyvtárban ("git checkout $commit - $filename"). vagy közvetlenül a staging területen („—staging”, nincs analógja a „git checkoutban”). Érdemes megjegyezni, hogy a „git checkout”-tól eltérően a „git restore” eltávolítja a nyomon nem követett fájlokat a visszaállítandó könyvtárakból (alapértelmezés szerint „--no-overlay”).
  • Hozzáadtuk a „git merge –quit” opciót, amely a „-abort”-hoz hasonlóan leállítja az ágak egyesítésének folyamatát, de a munkakönyvtárat érintetlenül hagyja. Ez az opció akkor lehet hasznos, ha a kézi egyesítés során végrehajtott változtatások egy részét külön véglegesítésként kívánja kiadni.
  • A "git clone", "git fetch" és "git push" parancsok mostantól figyelembe veszik a véglegesítések jelenlétét a csatolt tárolókban (váltogatja);
  • Hozzáadva a „git blame —ignore-rev” és „—ignore-revs-file” opciók lehetővé teszik a kisebb változtatásokat (például formázási javításokat) végző véglegesítések kihagyását;
  • Hozzáadtuk a „git cherry-pick –skip” opciót az ütköző véglegesítés kihagyásához (a „git reset && git cherry-pick –continue” sorozat memorizált analógja);
  • Hozzáadtuk a status.aheadBehind beállítást, amely véglegesen rögzíti a „git status -[no-]ahead-behind” opciót;
  • Ettől a kiadástól kezdve a "git log" alapértelmezés szerint figyelembe veszi a mailmap által végrehajtott változtatásokat, hasonlóan a git shortloghoz;
  • A 2.18-ban bevezetett commit gráf (core.commitGraph) kísérleti gyorsítótárának frissítési művelete jelentősen felgyorsult. Ezenkívül gyorsabbá tette a git for-each-ref-et több sablon használatakor, és csökkentette az auto-gc hívások számát a „git fetch —multiple”-ben;
  • A "git branch --list" mostantól mindig a leválasztott HEAD-et mutatja a lista legelején, a területi beállításoktól függetlenül.

Forrás: opennet.ru

Hozzászólás