Git 2.36 je že izšel in to so njegove novice

Po treh mesecih razvoja izšla je nova različica sistema nadzora porazdeljene izvorne kode «Git 2.36» eden najbolj priljubljenih, zanesljivih in visoko zmogljivih sistemov za nadzor različic, ki zagotavlja fleksibilna nelinearna razvojna orodja, ki temeljijo na vilicah in združitvah vilic.

Za zagotovitev celovitosti zgodovine in odpornosti na "nazajne" spremembe se pri vsaki potrditvi uporablja implicitno zgoščevanje vse prejšnje zgodovine. Možno je tudi preverjanje digitalnih podpisov razvijalcev posameznih etiket in potrdil.

Ključne nove funkcije Git 2.36

V primerjavi s prejšnjo izdajo je bilo v novi različici sprejetih 717 sprememb, pripravljenih s sodelovanjem 96 razvijalcev, od tega jih je 26 prvič sodelovalo pri razvoju. Glavne novosti:

Možnost "–remerge-diff" je dodan ukazom "git log" in "git show" za prikaz razlik med celotnim rezultatom spajanja in dejanskimi podatki, ki se odražajo v potrditvi po obdelavi ukaza "združi", ki vam omogoča vizualno oceno sprememb, ki so bile narejene kot posledica reševanja sporov pri spajanju. Običajni ukaz "git show" loči različne rešitve konfliktov z zamikom, zaradi česar je spremembe težko razumeti.

Pri uporabi možnosti “–remerge-diff”, razlike med rešitvami sporov niso ločene za vsako nadrejeno vejo, vendar so prikazane splošne razlike med datoteko, ki ima spore spajanja, in datoteko, ki je razrešila spore.

Druga pomembna sprememba je izboljšana prilagodljivost pri prilagajanju vedenja iz splakovanja predpomnilnikov diska prek klica funkcije fsync(). Parameter core.fsyncObjectFiles prej na voljo je bil razdeljen na dve konfiguracijski spremenljivki core.fsync in core.fsyncMethod, ki omogoča uporabo fsync ne samo za objektne datoteke (.git/objects), ampak tudi za druge strukture git, kot so refs ( .git /refs), reflog in datoteke paketov.

prek spremenljivke core.fsync, lahko podate seznam notranjih Git struktur, po operaciji pisanja, za katero bo dodatno poklican fsync. Spremenljivka core.fsyncMethod vam omogoča, da izberete metodo za izpiranje predpomnilnika, na primer lahko izberete fsync za uporabo sistemskega klica z istim imenom ali določite samo pisanje za uporabo čakajočega lenega pisanja (leno pisanje predpomnilnika strani).

Za zaščito pred ranljivostmi ki obravnavajo zamenjavo imenikov .git s strani drugih uporabnikov na particijah v skupni rabi, preverjanje lastnika repozitorija je bilo okrepljeno. Zdaj je dovoljeno samo izvajanje kakršnih koli ukazov git v njihovih lastnih imenikih ".git". Če je imenik skladišča v lasti drugega uporabnika, bo privzeto ustvarjena napaka. To vedenje je mogoče onemogočiti z nastavitvijo varnega imenika.

Poudarjeno je tudi, da dodana možnost »–batch-command« ukazu »git cat-file«, ki je namenjen ustvarjanju izvirne vsebine Git objektov, ki dopolnjuje ukaze “–batch” in “–batch-check” prej na voljo z možnostjo prilagodljive izbire vrste izhoda prek »vsebina » za prikaz vsebine ali «podatki » za prikaz informacij o predmetu. Podprt je tudi ukaz "flush" za splakovanje izhodnega medpomnilnika.

Po drugi strani pa je poudarjeno, da dodana možnost »-oid-only« (»-object-only«) na ukaz "git ls-tree", ki je zasnovan za seznam vsebine drevesa objektov, ki po analogiji z "–name -only" prikazuje samo identifikatorje objektov za poenostavitev klicev iz skriptov. Izvedena je tudi možnost »–format«, ki vam omogoča, da določite svoj izhodni format z združevanjem informacij o načinu, vrsti, imenu in velikosti.

Od ostalih sprememb ki izstopajo iz te nove različice:

  • V ukazu "git bisect run" je implementirana definicija nenastavljanja predznaka izvedljive datoteke za skript in generiranja napak s kodama 126 ali 127 v tem primeru (prej, če skripta ni bilo mogoče izvesti, so bili vsi pregledi označeno, da ima težave).
  • Dodana možnost »–refetch« ukazu »git fetch« za pridobivanje vseh predmetov, ne da bi drugi strani obvestili o vsebini, ki je že v lokalnem sistemu. To vedenje je lahko koristno za obnovitev stanja po napakah, ko obstaja negotovost glede celovitosti lokalnih podatkov.
  • Ukazi "git update-index", "git checkout-index", "git read-tree" in "git clean" zdaj podpirajo delno indeksiranje (sparse index) za izboljšanje zmogljivosti in prihranek prostora v repozitorijih, ki izvajajo delne operacije. (slabo plačilo).
  • Spremenjeno obnašanje ukaza "git clone --filter=... --recurse-submodules", ki zdaj vodi do delnega kloniranja podmodulov (prej je bil pri izvajanju takšnih ukazov filter uporabljen samo za glavno vsebino, podmoduli pa so bili v celoti klonirano brez upoštevanja filtra).
  • Dodana podpora za določanje filtrov za selektivno umestitev vsebine v ukaz "git bundle", podobno kot pri delnih operacijah kloniranja.
  • Dodana možnost »–recurse-submodules« ukazu »git branch« za rekurzivno premikanje podmodulov.
    Userdiff je predlagal nov gonilnik za jezik Kotlin.

Končno če vas zanima več o tem o tej novi različici Gita 2.36 si lahko ogledate podrobnosti v naslednjo povezavo.


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.