Git 2.35 iturburu-kontrolaren bertsioa

Bi hilabeteko garapenaren ondoren, Git 2.35 iturburu-kontrol sistema banatua kaleratu da. Git bertsioak kontrolatzeko sistema ezagunenetako, fidagarri eta errendimendu handikoenetako bat da, adarkatze eta bategitean oinarritutako garapen-tresna ez-lineal malguak eskaintzen ditu. Historiaren osotasuna eta aldaketa atzerakoiekiko erresistentzia bermatzeko, aurreko historia osoaren hashing inplizitua erabiltzen da konpromiso bakoitzean; gainera, etiketa eta konpromisoak garatzaileen sinadura digitalarekin ziurta daitezke.

Aurreko bertsioarekin alderatuta, bertsio berriak 494 aldaketa izan zituen, 93 garatzaileren parte-hartzearekin prestatuak, eta horietatik 35ek garapenean parte hartu zuten lehen aldiz. Berrikuntza nagusiak:

  • Git objektuak digitalki sinatzeko SSH gakoak erabiltzeko aukerak zabaldu dira. Hainbat gakoren balio-epea mugatzeko, "valid-before" eta "valid-after" OpenSSH zuzentarauetarako euskarria gehitu da, eta horrekin sinadurekin lan zuzena ziurta dezakezu garatzaileetako batek gakoa biratu ondoren. Honen aurretik, sinadurak gako zaharraren eta berriaren bereizketarekin arazo bat zegoen - gako zaharra ezabatzen baduzu, ezinezkoa izango da harekin egindako sinadurak egiaztatzea, eta uzten baduzu, posible izango da. sortu sinadura berriak gako zaharrarekin, dagoeneko beste gako batekin ordezkatu dena. valid-before eta valid-after erabiliz gakoen esparrua bereiz dezakezu sinadura sortu zen denboraren arabera.
  • merge.conflictStyle ezarpenean, bateratze batean gatazkei buruzko informazioa bistaratzeko modua hautatzeko aukera ematen duena, "zdiff3" moduaren euskarria agertu da, gatazkaren hasieran edo amaieran zehaztutako lerro estandar guztiak gatazkatik kanpo mugitzen dituena. eremua, informazioaren aurkezpen trinkoagoa ahalbidetzen duena.
  • "--staged" modua "git stash" komandoan gehitu da, eta horrek indizeari gehitutako aldaketak bakarrik ezkutatzeko aukera ematen du, adibidez, aldaketa konplexu batzuk aldi baterako atzeratu behar dituzunean, lehenik eta behin. dagoeneko prest dagoena gehitu eta pixka bat igaro ondoren gainerakoei. Modua "git commit" komandoaren antzekoa da, indizean jarritako aldaketak bakarrik idatziz, baina "git stash β€”staged" konpromezu berri bat sortu beharrean, emaitza stash aldi baterako eremuan gordetzen da. Aldaketak behar direnean, "git stash pop" komandoarekin itzul daitezke.
  • "git log" komandoari formatu-zehatzaile berri bat gehitu zaio, "--format=%(describe)", "git log"-en irteera "git describe" komandoaren irteerarekin konbinatzeko aukera ematen duena. "git describe"-ren parametroak zehaztailearen barruan zuzenean zehazten dira ("-format=%(describe:match= ,baztertu= )"), zeinetan etiketa laburtuak ere sar ditzakezu ("-format=%(describe:tags= )") eta konfiguratu karaktere hamaseitar kopurua objektuak identifikatzeko ("β€”format=%(describe:abbrev= )")). Esate baterako, azken 8 konpromezuak zeinen etiketak kaleratzeko etiketa hautagairik ez duten zerrendatzeko eta 8 karaktereko identifikatzaileak zehaztuz, komandoa erabil dezakezu: $ 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-643-g2edb95c94 v056-2.34.1-g642f56f95 v8-7-g2.34.1edb203c9 2980902-gb2.34.1bd 640bbc3f41 v212-2.34.1-gffb639f36d v65715-4132- gdfXNUMXcXNUMXadebXNUMX vXNUMX-XNUMX-gXNUMXbXNUMXaXNUMX
  • User.signingKey ezarpenak orain "ssh-" motara mugatzen ez diren gako mota berriak onartzen ditu eta gakoaren fitxategi-bide osoa zehazten dutenak. Mota alternatiboak "key::" aurrizkia erabiliz zehazten dira, adibidez "key::ecdsa-sha2-nistp256" ECDSA gakoetarako.
  • β€œβ€”histograma” moduan aldaketen zerrenda sortzeko abiadura, baita kolore ezberdinetako espazioak nabarmentzea kontrolatzen duen β€œβ€”color-moved-ws” aukera erabiltzean ere, nabarmen handitu da.
  • "git jump" komandoak, Vim-i fitxategi batean nahi den posiziorako jauzi zehatzari buruzko informazioa emateko erabiltzen den bateratze-gatazkak analizatzean, desberdintasunak ikustean edo bilaketa-eragiketa bat egitean, estalitako bateratze-gatazkak murrizteko gaitasuna ematen du. Adibidez, eragiketak "foo" direktoriora soilik mugatzeko, "git jump merge - foo" zehaztu dezakezu eta "Dokumentazioa" direktorioa prozesatzeko - "git jump merge - ':^Documentation'"
  • Objektuen tamaina adierazten duten balioetarako "size_t" motaren erabilera normalizatzeko "size_t" motaren ordez "unsigned long"-en ordez, 4 GB baino handiagoak diren fitxategiekin "garbi" eta "smudge" iragazkiak erabiltzea posible egin da. plataforma guztietan, LLP64 datu-eredua duten plataformetan barne, "unsigned long" motakoa 4 byteraino mugatuta dagoena.
  • β€œ-empty=(stop|drop|keep)” aukera gehitu da β€œgit am” komandoan, eta horrek adabakirik ez duten mezu hutsen portaera hautatzeko aukera ematen du postontziko adabakiak analizatzean. "Stop" balioak adabaki-eragiketa osoa amaituko du, "drop"-ek adabaki huts bat saltatuko du eta "keep"-ek konpromezu huts bat sortuko du.
  • "git reset", "git diff", "git blame", "git fetch", "git pull" eta "git ls-files" komandoetan indize partzialen laguntza gehitu da, errendimendua hobetzeko eta tokia aurrezteko. biltegiak , zeinetan klonazio eragiketa partzialak (sparse-checkout) egiten diren.
  • "git sparse-checkout init" komandoa zaharkituta dago eta "git sparse-checkout set"-rekin ordezkatu behar da.
  • "Reftable" backend berri baten hasierako ezarpena gehitu da erreferentziak biltegian adarrak eta etiketak bezalako gordetzeko. Backend berriak JGit proiektuak erabiltzen duen bloke-biltegia erabiltzen du eta erreferentzia kopuru oso handiak gordetzeko optimizatuta dago. Backend-a oraindik ez dago erreferentzia-sistemarekin integratuta eta ez dago erabilpen praktikorako prest.
  • "git grep" komandoaren kolore-paleta GNU grep erabilgarritasunarekin bat etortzeko egokitu da.

Iturria: opennet.ru

Gehitu iruzkin berria