I-Git 2.50: Ukuthuthukiswa kokusebenza kwamakhosombe amakhulu nokunye

git-2.50

Ezinsukwini ezimbalwa ezedlule kumenyezelwe Ukukhishwa kwenguqulo entsha yephrojekthi ye-Git 2.50, sethula izinguquko ezingaphezu kuka-600 eqhutshwa umphakathi osebenzayo kulokhu okubandakanya onjiniyela abangama-98, okuhlanganisa abanikeli abasha abangama-35.

Le nguqulo entsha ye-Git 2.50 igqanyiswa ukuhlanganiswa kwemiyalelo emisha (i-git-diff-pairs), imisebenzi emisha yokuhlanza, ukuhlunga, nokugcinwa, ukushintshwa kwenjini yokuhlanganisa ephindaphindayo nge-ORT, kanye nokuthuthukiswa kokusebenza nokulungiswa kweziphazamisi.

I-Git 2.50 Izici Ezintsha Ezintsha

Kule nguqulo entsha ye-Git 2.50, esinye sezici ezintsha ezibaluleke kakhulu yi- ukwenza kahle ekwelapheni okubizwa ngokuthi "amaphakethe we-cruft", Okusho ukuthi, amaphakheji ezinto ezingafinyeleleki noma ezingabaluliwe ngamagatsha noma omaka. Ngokwesiko, i-Git igcine lezi zinto efayeleni elilodwa, elikhulu lephakheji, elingabangela izinkinga zokusebenza lapho ipakisha kabusha amakhosombe ngeziningi zalezi zinto.

Ngenguqulo entsha, I-Git ikuvumela ukuthi uhlukanise lawa maphakethe e-cruft abe amafayela ambalwa amancane, okunciphisa ukusetshenziswa kwediski futhi kuthuthukise ukusebenza kokufaka/okukhiphayo ekusebenzeni kwenqwaba. Ngaphezu kwalokho, isi-sbese ufaka inketho -hlanganisa-cruft-below-size, evumela hlanganisa amaphakheji amancane kwelinye ngokuguquguqukayo kunenketho yangaphambilini ye--max-cruft-size, ngaphandle kokubeka umkhawulo kusayizi wefayela ohlanganisiwe. Lesi sici esisha siwusizo ikakhulukazi kumaphrojekthi anezinto eziyizintandane ezisabalele kumaphakheji amaningi.

Okunye ukuthuthukiswa okuhloswe ngazo zokugcina ezinkulu yi- ukwesekwa kokuhlola kwe isibuyekezo esikhuphukayo se Izinkomba ze-MIDX , okuyi Bagcina ulwazi ngezinto ngezandlalelo ezihlukene usebenzisa amafayela we-bitmap, okuvumela ukubuyekezwa okusheshayo njengoba kungezwa ukwenza okusha. Le ntuthuko ibalulekile ezinqolobaneni ezinkulu ezidinga imisebenzi yokukhomba ngokushesha ngaphandle kokwakha kabusha imethadatha ngokuphelele.

Qedela ukushintshwa kwenjini ehlanganisayo ephindaphindayo ne-ORT

I-Git 2.50 yethula ushintsho olukhulu nge ukususwa unomphela injini ye-fusion ephindaphindayo yendabuko. Kunalokho, ukusetshenziswa kwe-ORT kuhlanganisiwe, a injini yokuhlanganisa yesimanjemanje, egcinekayo futhi esebenza kahle. I-ORT ayinikezi nje kuphela ukuhlaziya okunembe kakhudlwana, kodwa futhi ikuvumela ukuthi uqinisekise ukuthi ukuhlanganisa kuyenzeka ngaphandle kokukhiqiza izinto ezengeziwe. Ngaphezu kwalokho, umyalo we-merge-tree manje uhlanganisa inketho -ethule yokusetshenziswa njengesihloli sokuhlanganisa esithulile ngaphandle kokulungisa indawo yokugcina.

I-gitt-diff-pairs: isixazululo sezinkinga zokuqina

Ukubuyekezwa kwekhodi ngokungangabazeki kungenye yezinsika zentuthuko yokubambisana yesimanje, futhi umehluko noma umehluko phakathi kokubuyekezwa kudlala indima ebalulekile kule nqubo. Ngokufika kwe-Git 2.50, isixazululo esiklanyelwe ukulinganisa seyethuliwe: umyalo omusha we-git-diff-pairs.

Ngokwesiko, ukuze uthole ukuqhathanisa phakathi kwezibuyekezo ezimbili usebenzisa umyalo onjengo:

git diff HEAD~1 HEAD

Lokhu kukhiqiza isiqeshana esiphelele esiqukethe zonke izinguquko phakathi kwezibuyekezo ezisohlwini. Nakuba kusebenza ezimweni eziningi, kungaba inkinga yokusebenza lapho usebenza namasethi amakhulu wamafayela aguquliwe.

Kungakho ama-git-diff-pairs aklanyelwe ngokukhethekile ukuthola okokufaka okungavuthiwe ngokuqondile kusukela ekuphumeni kwe-git diff-tree, futhi akhiqize amapheshana ahambisanayo ngempumelelo nangokunembile.

Ukusetshenziswa kulula njengokuthi:

git diff-tree -r -z -M HEAD~ HEAD | git diff-pairs -z

Lo myalo uthatha amapheya e-blob anikeziwe futhi ukhiqize okukhiphayo okuyi-diff ncamashi, ukulondoloza ulwazi lwesimo nokuvumela umsebenzi ukuthi uhlukaniswe ube amaqoqo amancane. Lokhu kuvula umnyango wokucubungula okufanayo, kuthuthukisa ukusebenza kahle kwensiza, futhi kusiza ukukala kumathuluzi asuselwa ku-diff njenge-GitLab.

Izici ezintsha zokuhlanza, ukuhlunga nokunakekela

I-Git 2.50 ihlanganisa amathuluzi amaningana engeziwe aklanyelwe ukuthuthukisa ukugcinwa kwenqolobane:

  • Umyalo wengeziwe git reflog drop, okukuvumela ukuthi ususe ngokuphelele i-reflog yegatsha elithile, elungele ukuhlanza umlando wakho womsebenzi lapho ungasadingi ukunakekela izithenjwa zangaphambilini.
  • Okukhethwa kukho – isihlungi cat-file -batch isiyatholakala ku-git, ikuvumela ukuthi uhlunge imiphumela ngohlobo lwento.

Ngaphezu kwalokho, ukulungiselelwa okuningi kwangaphakathi nakho kuyagqanyiswa:

  • Ukusetshenziswa okuthuthukisiwe kwezixhumanisi ezingokomfanekiso, ngokugcinwa kwesikhashana kwesiqalo nokunciphisa ukuhlola okungafuneki.
  • Ukususwa kokuncika kwe-Perl kumadokhumenti neskripthi sokuhlola, esikhundleni salokho kufakwe imisebenzi yegobolondo noma ukuqaliswa kwe-C, okwenza kube lula ukuhlanganisa kumasistimu anokulungiselelwa okuncane.
  • Kubandakanya isilawuli umsebenzisidiff ukuze kuhlaziywe umehluko kumafayela we-.ini.
  • Ukuhambisana okuthuthukisiwe komyalo we-git send-imeyili enamaseva e-SMTP njenge-Outlook.

Okokugcina, uma ungathanda ukwazi okwengeziwe ngakho, ungathintana nemininingwane ku isixhumanisi esilandelayo.