Git 2.35 šaltinio valdymo leidimas

Po dviejų mėnesių kūrimo buvo išleista paskirstytų šaltinių valdymo sistema Git 2.35. Git yra viena populiariausių, patikimiausių ir našiausių versijų valdymo sistemų, teikianti lanksčius nelinijinius kūrimo įrankius, pagrįstus šakojimu ir sujungimu. Siekiant užtikrinti istorijos vientisumą ir atsparumą retroaktyviems pokyčiams, kiekviename įsipareigojime naudojama netiesioginė visos ankstesnės istorijos maiša, taip pat galima sertifikuoti atskiras žymas ir įsipareigojimus skaitmeniniais kūrėjų parašais.

Palyginti su ankstesne versija, naujojoje versijoje buvo 494 pakeitimai, parengti dalyvaujant 93 kūrėjams, iš kurių 35 kūrime dalyvavo pirmą kartą. Pagrindinės naujovės:

  • Išplėstos galimybės naudoti SSH raktus skaitmeniniam Git objektų pasirašymui. Siekiant apriboti kelių raktų galiojimo laiką, pridėta OpenSSH direktyvų „galioja prieš“ ir „galioja po“ palaikymas, su kuriais galite užtikrinti teisingą darbą su parašais po to, kai raktą pakeitė vienas iš kūrėjų. Prieš tai iškilo problema dėl parašų atskyrimo pagal seną ir naują raktą – ištrynus senąjį raktą bus neįmanoma patikrinti su juo padarytų parašų, o jei paliksite, išliks galimybė sukurti naujus parašus su senu raktu, kuris jau buvo pakeistas kitu raktu. Naudodami galioti prieš ir galioti po, galite atskirti raktų apimtį pagal parašo sukūrimo laiką.
  • Nustatyme merge.conflictStyle, leidžiančiame pasirinkti informacijos apie konfliktus sujungimo metu rodymo režimą, atsirado „zdiff3“ režimo palaikymas, kuris visas standartines eilutes, nurodytas konflikto pradžioje arba pabaigoje, perkelia už konflikto ribų. sritis, leidžianti kompaktiškiau pateikti informaciją.
  • Prie komandos „git stash“ buvo pridėtas režimas „--stage“, leidžiantis paslėpti tik pakeitimus, įtrauktus į indeksą, pavyzdžiui, kai reikia laikinai atidėti kai kuriuos sudėtingus pakeitimus, kad pirmiausia pridėkite tai, kas jau paruošta, o po kurio laiko susitvarkykite su likusia dalimi. Režimas yra panašus į komandą „git commit“, įrašant tik į indeksą patalpintus pakeitimus, tačiau vietoj to, kad būtų sukurtas naujas įsipareigojimas „git stash –stage“, rezultatas išsaugomas laikinojoje skiltyje. Kai reikia atlikti pakeitimus, juos galima grąžinti naudojant komandą „git stash pop“.
  • Prie komandos „git log“ buvo pridėtas naujas formato specifikatorius „--format=%(describe)“, kuris leidžia sujungti „git log“ išvestį su komandos „git description“ išvestimi. „git description“ parametrai yra nurodyti tiesiai specifikacijoje („-format=%(describe:match=“ ,išskirti= )"), kuriame taip pat galite įtraukti sutrumpintas žymas ("—format=%(describe:tags= )") ir sukonfigūruokite šešioliktainių simbolių skaičių objektams identifikuoti (“—format=%(describe:abbrev= )"). Pavyzdžiui, norėdami išvardyti paskutinius 8 įsipareigojimus, kurių žymose nėra leidimo kandidato žymos, ir nurodydami 8 simbolių identifikatorius, galite naudoti komandą: $ 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-g643dd-b2ab. gb95bd94 bbc056f2.34.1 v642-56-gffb95f8d v7-2.34.1- gdf203c9adeb2980902 v2.34.1-640-g3b41a212
  • Nustatymas user.signingKey dabar palaiko naujus raktų tipus, kurie neapsiriboja „ssh-“ tipu ir nurodant visą failo kelią iki rakto. Alternatyvūs tipai nurodomi naudojant „key::“ priešdėlį, pavyzdžiui, „key::ecdsa-sha2-nistp256“ ECDSA raktams.
  • Pastebimai padidėjo pakeitimų sąrašo generavimo greitis režimu „—histograma“, taip pat naudojant parinktį „-color-moved-ws“, kuri kontroliuoja tarpų paryškinimą spalvų skirtume.
  • Komanda „git jump“, naudojama Vim pateikti informaciją apie tikslų šuolį į norimą failo vietą analizuojant sujungimo konfliktus, peržiūrint skirtumus arba atliekant paieškos operaciją, suteikia galimybę susiaurinti aprėpiamus sujungimo konfliktus. Pavyzdžiui, norėdami apriboti operacijas tik „foo“ kataloge, galite nurodyti „git jump merge – foo“ ir neįtraukti „Documentation“ katalogo apdorojimo – „git jump merge – ':^Documentation“
  • Buvo atliktas darbas siekiant standartizuoti „size_t“ tipo, o ne „unsigned long“ naudojimą objektų dydį atspindinčioms reikšmėms, todėl buvo galima naudoti „švarius“ ir „išteptus“ filtrus su didesniais nei 4 GB failais. visose platformose, įskaitant platformas su LLP64 duomenų modeliu , tipas „unsigned long“, kuriame apribotas iki 4 baitų.
  • Parinktis „-empty=(stop|drop|keep)“ buvo pridėta prie komandos „git am“, kuri leidžia pasirinkti tuščių pranešimų, kuriuose nėra pataisų, elgesį analizuojant pataisas iš pašto dėžutės. Reikšmė „stop“ nutrauks visą pataisymo operaciją, „drop“ praleis tuščią pataisą, o „keep“ sukurs tuščią įpareigojimą.
  • Pridėtas dalinių indeksų (retas indeksas) palaikymas komandoms „git reset“, „git diff“, „git blame“, „git fetch“, „git pull“ ir „git ls-files“, siekiant pagerinti našumą ir sutaupyti vietos saugyklos , kuriose atliekamos dalinės klonavimo operacijos (sparse-checkout).
  • Komanda „git sparse-checkout init“ buvo nebenaudojama ir turėtų būti pakeista „git sparse-checkout set“.
  • Pridėtas pradinis naujos „reftable“ sistemos diegimas, skirtas nuorodoms, pvz., šakoms ir žymoms, saugykloje saugoti. Naujoji užpakalinė programa naudoja JGit projekto naudojamą blokų saugyklą ir yra optimizuota labai dideliam nuorodų skaičiui saugoti. Backend dar nėra integruota su refs sistema ir nėra paruošta praktiniam naudojimui.
  • Komandos „git grep“ spalvų paletė buvo pakoreguota, kad atitiktų GNU grep įrankį.

Šaltinis: opennet.ru

Добавить комментарий