Siidaynta nidaamka xakamaynta isha qaybsan Git 2.22

Soo gudbiyey sii daynta nidaamka xakamaynta isha qaybsan Tag 2.22.0. Git waa mid ka mid ah nidaamyada xakamaynta nooca ugu caansan, la isku halayn karo iyo waxqabadka sare, oo bixiya qalab horumarineed oo dabacsan oo aan toos ahayn oo ku salaysan laanta iyo isku darka. Si loo hubiyo daacadnimada taariikhda iyo iska caabinta isbeddellada dib-u-noqoshada ah, hashing aan toos ahayn ee dhammaan taariikhdii hore ee ballan kasta ayaa la isticmaalaa, sidoo kale waxaa suurtagal ah in la caddeeyo calaamadaha gaarka ah oo lagu sameeyo saxeexyada dhijitaalka ah ee horumariyeyaasha.

Marka la barbardhigo sii deynta hore, nooca cusub waxaa ka mid ah 745 isbeddel, oo loo diyaariyey ka qaybgalka horumarinta 74, kuwaas oo 18 ka mid ah ay ka qaybqaateen horumarinta markii ugu horeysay. Main wax cusub:

  • La heli karo tan iyo markii la sii daayay 1.18, qaabka cusub ee ballan-qaadka dib-u-dejinta "git rebase --rebase-merges" wuxuu beddelayaa ikhtiyaarkii hore ee "--preserve-merges", kaas oo hadda la joojiyay. Hawlgalka "git rebase" waxaa loo isticmaalaa in lagu beddelo ballanqaadyo taxane ah oo lagu beddelayo saldhig cusub, tusaale ahaan, in la raro laan gaar ah oo horumarinaysa sifo cusub xaaladda hadda ee laanta sayid, oo ay ku jiraan hagaajinta lagu daray laanta ka dib. :

    o - o - o (muuqaalkayga)

    /

    o - o - o - o - o (master)

    o - o - o (muuqaalkayga)

    /

    o - o - o - o - o (master)

    Si loo ilaaliyo qaab dhismeedka laanta laanta guuray, ikhtiyaarka "--preserve-merges" ayaa hore loo isticmaali karaa, kaas oo, marka lagu shaqeeyo habka isdhexgalka (git rebase -i --preserve-merges), la oggolaaday in la tafatiro taariikhda ballan-qaadka, laakiin ma dammaanad qaadin ilaalinta dhammaystiran ee qaab dhismeedka kaydka. Habka cusub ee "--rebase-merges" wuxuu kuu ogolaanayaa inaad ilaaliso qaab dhismeedka isbedelada laanta loo haajiray, iyadoo la bixinayo hawlgalo kala duwan oo isdhexgal ah, oo ay ku jiraan tirtirida, dib-u-ururinta iyo magac-beddelka.

    Tusaale ahaan, "--rebase-merges" Waxa ay u ogolaataa Dib-u-dejintu waxay ka go'an tahay laan gaar ah oo loo beddelo laan cusub, iyadoo la ilaalinayo qaab-dhismeedka laanta laanta guurtay, oo wax ka beddel lagu sameeyo qoraallada la sameeyo ee duullimaadka.

  • Taageero lagu daray abuurista laan cusub oo ku salaysan natiijada go'aaminta saldhiga isku-dhafka ee laba laamood oo kale (isku-dhafka saldhigga, ku xidhida awoowe la wadaago) iyadoo la adeegsanayo dhismayaasha "git branch new A...B" iyo "git checkout -b cusub A...B”, kaas oo β€œA ...B” ay ku lug leedahay qeexida saldhiga isku darka ee u dhexeeya laba go’aan oo cayiman, oo la mid ah sida β€œgit checkout A...B” u beddelo MADAXA gundhigga iyo β€œkala duwanaanshaha A. B

    Tusaale ahaan, marka aad ka shaqaynayso laan gaar ah oo aan ka mid ahay, habkan waxaa loo isticmaali karaa marka aad rabto in aad ka bilowdo laan ka duwan, tusaale ahaan, laga bilaabo isla meel ka mid ah laanta master-ka kaas oo laanta astaantayda laga eegay. Markii hore, tani waxay u baahnayd gacanta in la baaro log-ka isbeddelka, taas oo aan dhib lahayn haddii aad leedahay taariikh weyn oo isbeddel ah, ka dibna socodsiiya "git merge-base master my-feature" si loo xisaabiyo xashiishka saldhigga isku-dhafka ah ee u dhexeeya sayid iyo laamaha astaantayda iyo abuurista laan cusub oo qaraabo la ah awoowaha guud "git branch my-other-feature hash." Git 2.22, waxaad isticmaali kartaa ereyga "git branch my-other-feature A...B" si aad u abuurto laan qaraabo ah saldhigga isku dhafka ee laba laamood oo kale;

  • Lagu daray "git branch --show-current" ikhtiyaar si loo muujiyo magaca laanta la helay inta lagu jiro hawlgalka hubinta;
  • Waxaa lagu daray β€œgit checkout β€”no-overlay β€” dir” ikhtiyaarka, kaas oo u ogolaanaya, marka la samaynayo hawlgalka hubinta, in la keeno waxa ku jira tusaha dir foom si buuxda u dhigma gobolka laanta sayidkiisa. Tusaale ahaan, haddii uu jiro fayl ku yaal nuqulka maxalliga ah ee tusaha dir ee aan ku jirin laanta sayidkiisa, ka dib marka la fulinayo "git checkout master - dir" waa laga tagi doonaa, iyo haddii "--no- dulsaar" "Doorashada waa la cayimay, waa la tirtiri doonaa;
  • Amarka "git diff" wuxuu isticmaalaa API universal si loo kala saaro fursadaha, taas oo suurtogal ka dhigaysa in la mideeyo ikhtiyaarka ikhtiyaariga ah ee kale ee git. Tusaale ahaan, gudaha "git diff", dhammaan xulashooyinka hadda waxay leeyihiin kuwa ka soo horjeeda ("-function-context" iyo "--no-function-context");
  • Waxaa lagu daray awoodda lagu sifeynayo summada fidsan ee ku lifaaqan wax-soo-saarka "git log" ("trailer" - calammada macluumaadka dheeraadka ah, sida Saxiix-off-by iyo La-qoray-by). Waa suurtagal in lagu kala shaandheeyo summada furaha iyo qiimaha labadaba, tusaale ahaan:
    "git log --pretty="%(trailers:key=Reviewed-by,valueonly)";

  • Matoorka raadinta cusub, Trace2, ayaa lagu daray, kaas oo bixiya qaab wax soo saar oo dabacsan oo habaysan. Trace2 waxay kuu ogolaanaysaa inaad ururiso telemetry ee ku saabsan hawlgallada la fuliyay iyo xogta waxqabadka si aad u tifaftirto falanqaynta iyo khaladaadka dheeraadka ah (maamulaha waxaa u xilsaaray isticmaalaha, xog dibadda looma diro);
  • Warbixinta "git bisect" ayaa laga dhigay mid la akhriyi karo, taas oo dembiyada dhibka leh ay hadda si cad u iftiimiyeen iyo tirakoobyada kooban ee isbeddelka fayl kasta ayaa la soo bandhigay (heerka tirada xariiqyada la beddelay);
  • Heuristics-ka lagu go'aaminayo magac-beddelka hagaha ayaa dib loo habeeyey si loo baabi'iyo rakibaadda beenta ah ee sumadaha beddelka. Marka shakiga laga galo, hagayaasha noocaan ah ayaa hadda loo calaamadeeyay inay yihiin kuwo iska soo horjeeda;
  • Digniin ayaa la soo bandhigayaa marka aad isku daydo inaad ku dhejiso summada kale, taas oo inta badan si qalad ah loo sameeyo oo u horseedi karta in calaamadda lagu dhejiyo qaladka khaldan (tusaale, dhismo sida "git tag -f -m" fariinta la cusbooneysiiyay" my-tag1 my- tag2β€³ waxay dhalin doontaa in sumad lagu sameeyo sumadii hore, halka horumariyahu filayo in summada cusub lagu rakibo ballankii uu tilmaamay sumadii hore);
  • Jiilka waxaa loo sahlayaa kaydinta khariidad-qaran (qaab-dhismeedka "bitmaps-ka la gaari karo" ku salaysan diskka), kaas oo kaydiya xogta ku saabsan walxaha la heli karo ee ballan kasta oo kuu ogolaanaya inaad si degdeg ah u go'aamiso joogitaanka shayga aasaasiga ah. Qaab dhismeedkani wuxuu si weyn u yareynayaa wakhtiga fulinta hawlgallada soo celinta xogta (git fetch).

Source: opennet.ru

Add a comment