Ukukhishwa kwesistimu yokulawula umthombo esabalalisiwe i-Git 2.22

Kuthunyelwe ngu- ukukhululwa kwesistimu yokulawula umthombo esabalalisiwe I-Git 2.22.0. 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 ekuzinikeleni ngakunye kuyasetshenziswa, futhi kuyenzeka futhi kuqinisekiswe amathegi angawodwana nokuzibophezela namasiginesha edijithali yonjiniyela.

Uma kuqhathaniswa nokukhululwa kwangaphambilini, inguqulo entsha yayihlanganisa izinguquko ezingu-745, ezilungiselelwe ngokubamba iqhaza kwabathuthukisi abangu-74, abangu-18 babo babambe iqhaza ekuthuthukisweni okokuqala. main emisha:

  • Itholakala kusukela ngo-1.18, imodi entsha yokuzibophezela kabusha ethi "git rebase --rebase-merge" ingena esikhundleni senketho endala ethi "--preserve-merge", manje eseyehlisiwe. Ukusebenza kwe-"git rebase" kusetshenziselwa ukufaka esikhundleni sochungechunge lwezibopho ngokuzibophezela okusha, isibonelo, ukuhambisa igatsha elihlukile elithuthukisa isici esisha esimweni samanje segatsha eliyinhloko, okuhlanganisa ukulungiswa okwengezwe ngemva kwegatsha. :

    o - o - o (isici sami)

    /

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

    o - o - o (isici sami)

    /

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

    Ukuze kulondolozwe isakhiwo segatsha egatsheni elithuthiwe, inketho ethi “--preserve-merge” ibingasetshenziswa ngaphambilini, okuthi, uma isetshenziswa kumodi yokusebenzisana (git rebase -i --preserve-merge), ivumele ukuhlela umlando wokuzibophezela, kodwa akuzange kuqinisekise ukulondolozwa okuphelele kwesakhiwo senqolobane. Imodi entsha "--rebase-merge" ikuvumela ukuthi ulondoloze ukwakheka kwezinguquko egatsheni elithuthwayo, kuyilapho unikeza uhla olugcwele lwemisebenzi yokusebenzisana, okuhlanganisa ukususa, ukuhlanganisa kabusha nokuqamba kabusha izibopho.

    Isibonelo, "--rebase-meges" kuvumela ukulayisha kabusha kuzibophezela kusuka egatsheni elihlukile kuya egatsheni eliyinhloko elisha, kuyilapho kugcinwa ukwakheka kwegatsha egatsheni elithuthiwe, futhi kwenze izinguquko ezithile kumanothi esibophelelo ekuhambeni.

  • Ukwesekwa okwengeziwe kokudala igatsha elisha ngokusekelwe emphumeleni wokunquma isisekelo sokuhlanganisa samanye amagatsha amabili (hlanganisa isisekelo, ukubophezela kukhokho oyedwa) kusetshenziswa ukwakhiwa "git branch new A...B" kanye "git checkout -b new A...B”, lapho u-“A ...B” ehlanganisa ukuchaza isisekelo sokuhlanganisa phakathi kwezinto ezimbili ezizibophezele, ezifana nokuthi "i-git checkout A...B" igudluzela kanjani i-HEAD kusibopho esiyisisekelo kanye nokuthi "diff A. ..B" ibonisa izinguquko phakathi kwesibopho esithi "B" kanye nokufana nokwenza okuthi "A" "Ancestor.

    Isibonelo, lapho usebenza egatsheni elihlukile lesici sami, lesi sici singasetshenziswa uma ufuna ukuqala egatsheni elihlukile, isibonelo, ukusuka endaweni efanayo egatsheni eliyinhloko lapho igatsha lesici sami lihlolwe khona. Ngaphambilini, lokhu bekudinga ukuhlola mathupha ilogu yoshintsho, obekungalungi uma unomlando omkhulu wezinguquko, bese usebenzisa okuthi “git merge-base master my-feature” ukuze ubale i-hashi yesisekelo sokuhlanganisa phakathi kwegatsha eliyinhloko kanye nesici sami. nokudala igatsha elisha elihlobene nedlozi elivamile elithi " git branch my-other-feature hash." Ku-Git 2.22, ungasebenzisa i-syntax ethi "git branch my-other-feature A...B" ukuze udale igatsha elihlobene nesisekelo sokuhlanganisa samanye amagatsha amabili;

  • Kwengezwe inketho ethi "git branch --show-current" yokubonisa igama legatsha elitholwe ngesikhathi sokuphuma;
  • Kwengezwe inketho ethi "git checkout -no-overlay - dir", evumela, lapho wenza umsebenzi wokuphuma, ukuletha okuqukethwe kwenkomba ye-dir efomini elihambisana ngokugcwele nesimo segatsha elikhulu. Isibonelo, uma kukhona ifayela kukhophi yendawo yohla lwemibhalo lwe-dir elingekho egatsheni eliyinhloko, khona-ke ngokuzenzakalelayo lapho usebenzisa “git checkout master - dir” lizoshiywa, futhi uma “--no-overlay ” inketho icacisiwe, izosuswa;
  • Umyalo we-"git diff" usebenzisa i-API yendawo yonke ekuhlukaniseni izinketho, okwenza kube nokwenzeka ukuhlanganisa ukuphatha inketho nezinye izinsiza ze-git. Isibonelo, kokuthi “git diff”, zonke izinketho manje sezinabaphikisi bazo (“--function-context” kanye “--no-function-context”);
  • Kwengezwe ikhono lokuhlunga omaka abaluliwe abanamathiselwe ekwenziweni kokuphumayo kokuthi “git log” (“i-trailer” - amafulegi olwazi olwengeziwe, njengokuthi Usayinwe ngu-Siyeyinwe kanye nokuthi ubhalwe ngokuhlanganyela). Kungenzeka ukuhlunga amalebula ngakho kokubili ukhiye nangevelu, isibonelo:
    "git log --pretty="%(trailers:key=Ibuyekezwe-yi,valueonly)";

  • Injini yokulandelela entsha, i-Trace2, yengeziwe, enikeza ifomethi yokuphuma evumelana nezimo futhi ehlelekile. I-Trace2 ikuvumela ukuthi uqoqe i-telemetry mayelana nemisebenzi eyenziwe kanye nedatha yokusebenza ukuze uthole ukuhlaziya okuningiliziwe nokulungisa iphutha (isibambi sinikezwa umsebenzisi, ayikho idatha ethunyelwa ngaphandle);
  • Umbiko we-“git bisect” wenziwe wafundeka kakhudlwana, lapho izibophezelo eziyinkinga manje sezigqanyiswa ngokucace kakhudlwana futhi izibalo ezifingqiwe zezinguquko zefayela ngalinye ziyaboniswa (ezingeni lenombolo yemigqa eshintshiwe);
  • I-heuristics yokunquma ukuqamba kabusha uhla lwemibhalo isetshenzwe kabusha ukuze kuqedwe ukufakwa okungamanga kwamalebula okuqamba kabusha. Uma ungabaza, izinkomba ezinjalo manje zimakwa njengeziphikisana;
  • Isexwayiso siyavezwa uma uzama ukufaka umaka komunye umaka, okuvamise ukwenziwa ngephutha futhi okungaholela ekusetheni umaka ekubopheni okungalungile (isibonelo, ukwakhiwa okufana nokuthi “git tag -f -m “updated message” my-tag1 my- tag2″ kuzoholela ekudalweni umaka kumaka omdala, kuyilapho umthuthukisi elindele ukuthi umaka omusha ufakwe esivumelwaneni esikhonjwe umaka omdala);
  • I-Generation inikwe amandla amakhosombe e-bitmap (isakhiwo esisuselwe kudiski "ukufinyeleleka kwe-bitmaps"), esigcina idatha mayelana namasethi ezinto atholakalayo ekubophezelweni ngakunye futhi ikuvumela ukuthi unqume ngokushesha ubukhona bento eyisisekelo. Lesi sakhiwo sinciphisa kakhulu isikhathi sokwenza sokubuyiswa kwedatha (i-git fetch).

Source: opennet.ru

Engeza amazwana