Ukukhishwa kokulawula komthombo we-Git 2.36

Ngemuva kwezinyanga ezintathu zokuthuthukiswa, uhlelo lokulawula umthombo olusabalalisiwe lwe-Git 2.36 lukhishwe. I-Git ingenye yezinhlelo ezidume kakhulu, ezinokwethenjelwa nezisebenza kahle kakhulu zokulawula inguqulo, ehlinzeka ngamathuluzi okuthuthukisa aguquguqukayo angaqondile asekelwe ku-branching nokuhlanganisa. Ukuqinisekisa ubuqotho bomlando kanye nokumelana nezinguquko ze-retroactive, i-hashing engacacile yawo wonke umlando wangaphambilini isetshenziswa ekuzinikeleni ngakunye; kuyenzeka futhi ukuqinisekisa amathegi angawodwana kanye nokuzibophezela ngamasiginesha edijithali yonjiniyela.

Uma kuqhathaniswa nokukhululwa kwangaphambilini, izinguquko ezingu-717 zamukelwa enguqulweni entsha, elungiselelwe ngokubamba iqhaza kwabathuthukisi abangu-96, abangu-26 babo babambe iqhaza ekuthuthukisweni okokuqala. Okuqanjiwe okuyinhloko:

  • Imiyalo ye-“git log” kanye ne-“git show” manje inenketho ethi “—remerge-diff” ekuvumela ukuthi ubonise umehluko phakathi komphumela ophelele wokuhlanganisa kanye nedatha yangempela evezwa esivumelwaneni ngemva kokucubungula umyalo “wokuhlanganisa”. , okukuvumela ukuthi uhlole ngokucacile izinguquko ezenziwe njengomphumela wokuxazulula izingxabano zokuhlanganisa. Umyalo ojwayelekile othi "git show" uhlehlisa ukuxazululwa kwezingxabano ezihlukene, okwenza kube nzima ukuqondwa izinguquko. Isibonelo, kusithombe-skrini esingezansi komugqa othi “+/-” ngaphandle kokuhlehlisa kukhombisa ukuxazululwa kokugcina kokungqubuzana okuhlobene nokuqanjwa kabusha kwe-sha1 kuya ku-oid emazwaneni egatsheni lokuqala, futhi okuthi “+/-” ngokuhlehlisa kukhombisa isiqalo. ukuxazululwa kokungqubuzana okudalwe ukuvela kwempikiswano eyengeziwe egatsheni lesibili kumsebenzi we-dwim_ref().
    Ukukhishwa kokulawula komthombo we-Git 2.36

    Uma usebenzisa inketho ethi "--remerge-diff", umehluko phakathi kwezixazululo zokungqubuzana awuhlukaniswanga egatsheni ngalinye lomzali, kodwa umehluko uwonke phakathi kwefayela elihlanganisa ukungqubuzana kanye nefayela elinokungqubuzana okuxazululiwe uyaboniswa.

    Ukukhishwa kokulawula komthombo we-Git 2.36

  • Ukunwebeka okuguquguqukayo ekulungiseleleni ukuziphatha kokususa inqolobane yediski ngocingo lomsebenzi we-fsync(). Ipharamitha ye-core.fsyncObjectFiles eyatholakala ngaphambilini ihlukaniswe yaba okuguquguqukayo okubili okuyisisekelo okuyi-core.fsync kanye ne-core.fsyncMethod, okuhlinzeka ikhono lokusebenzisa i-fsync hhayi kuphela kumafayela ezinto (.git/objects), kodwa nakwezinye izakhiwo ze-git njengezixhumanisi ( .git /refs), reflog futhi upakishe amafayela.

    Usebenzisa okuguquguqukayo kwe-core.fsync, ungacacisa uhlu lwezakhiwo ze-Git zangaphakathi lapho i-fsync izobizwa futhi ngemva komsebenzi wokubhala. I-core.fsyncMethod variable ikuvumela ukuthi ukhethe indlela yokususa inqolobane, isibonelo, ungakhetha i-fsync ukuze usebenzise ucingo lwesistimu lwegama elifanayo, noma ucacise ukubhala kuphela ukuze usebenzise ukubhala emuva kwe-pagecache.

  • Ukuze kuvikelwe ebuthakathakeni obukhohlisa abanye abasebenzisi esikhundleni sezinhla zemibhalo ze-.git zibe izigaba ezabiwe, ukuqinisekiswa komnikazi wekhosombe kuqinisiwe. Ukwenza noma yimiphi imiyalo ye-git manje sekuvunyelwe kuphela ezinhlwini zabo zemibhalo ".git". Uma uhla lwemibhalo olunenqolobane lungelomunye umsebenzisi, iphutha lizovezwa ngokuzenzakalelayo. Lokhu kuziphatha kungakhutshazwa kusetshenziswa isilungiselelo se-safe.directory.
  • Umyalo we-“git cat-file”, okuhloswe ngawo ukukhipha okuqukethwe komthombo wezinto ze-Git, wengezelelwe ngenketho ethi “--batch-command”, ehambisana nalokho okwakukhona ngaphambili okuthi “--batch” kanye “--batch-check. ” imiyalo enekhono lokuzijwayeza ukukhetha uhlobo lokuphumayo usebenzisa “ okuqukethwe <object>" ukuze ubonise okuqukethwe noma "ulwazi <object>" ukuze ubonise ulwazi mayelana nento. Ukwengeza, umyalo othi "flush" uyasekelwa ukuze usule isigcinalwazi esiphumayo.
  • Emyalweni othi “git ls-tree”, ohloselwe ukukhiqiza uhlu lokuqukethwe kwesihlahla sento, inketho ethi “—oid-only” (“—object-only”) yengeziwe, efana nokuthi “—name-only ”, ukubonisa kuphela izihlonzi zento ukwenza lula ikholi evela emibhalweni. Okunye okusetshenzisiwe yinketho ethi “--format”, ekuvumela ukuthi uchaze ifomethi yakho yokuphumayo ngokuhlanganisa ulwazi mayelana nemodi, uhlobo, igama nosayizi.
  • Umyalo othi “git bisect run” usebenzisa ukutholwa kokungalisethi ifulegi lefayela elisebenzisekayo lombhalo futhi kulokhu kukhombisa amaphutha anamakhodi 126 noma 127 (ngaphambilini, uma iskripthi singasebenzanga, zonke izibuyekezo bezimakwa njengezinezinkinga) .
  • Kwengezwe inketho --refetch kumyalo we-"git fetch" ukuze ulande zonke izinto ngaphandle kokwazisa omunye umuntu mayelana nokuqukethwe osekuvele kusistimu yendawo. Lokhu kuziphatha kungaba usizo ekubuyiseleni ekuhlulekeni uma ubuqotho bedatha yasendaweni bungaqinisekile.
  • Imiyalo ethi "git update-index", "git checkout-index", "git read-tree" kanye nethi "git clean" manje isekela izinkomba ezingaphelele (i-sparse index) ukuze kuthuthukiswe ukusebenza nokulondoloza isikhala kumakhosombe lapho imisebenzi ethile yenziwa khona. (ukuphuma kancane).
  • Ukuziphatha komyalo we- "git clone -filter=... -recurse-submodules" kushintshiwe, manje okuholela ekuhlanganisweni kwengxenye yamamojula (ngaphambilini, lapho kwenziwa imiyalo enjalo, isihlungi sasisetshenziswa kuphela kokuqukethwe okuyinhloko, futhi amamojula angaphansi ihlanganiswe ngokuphelele ngaphandle kokucabangela isihlungi).
  • Umyalo we-"git bundle" wengeze usekelo lokucacisa izihlungi zokubekwa kokuqukethwe ngokukhetha, okufana nemisebenzi yokuhlanganisa ingxenye.
  • Kwengezwe inketho ethi "-recurse-submodules" kumyalo we-"git branch" ukuze unqamule amamojula angaphansi ngokuphindaphindiwe.
  • U-Userdiff unikeza isibambi esisha solimi lwesiKotlin.

Source: opennet.ru

Engeza amazwana