Ukukhishwa kwesistimu yokulawula umthombo esabalalisiwe i-Git 2.37 imenyezelwe. 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-395 zamukelwa enguqulweni entsha, elungiselelwe ngokubamba iqhaza kwabathuthukisi abangu-75, abangu-20 babo babambe iqhaza ekuthuthukisweni okokuqala. Okuqanjiwe okuyinhloko:
- Indlela yezinkomba eziyingxenye (inkomba eyingcosana), ehlanganisa ingxenye kuphela yenqolobane, ilethwe isilungele ukusetshenziswa kabanzi. Izinkomba ezingaphelele zingathuthukisa ukusebenza futhi zonge isikhala kumakhosombe enza imisebenzi ye-cloning ingxenye (i-sparse-checkout) noma isebenze ngekhophi engaphelele yendawo yokugcina. Ukukhishwa okusha kuqeda ukuhlanganiswa kwezinkomba ezingaphelele embukisweni we-git, i-git sparse-checkout, nemiyalo ye-git stash. Inzuzo yokusebenza ephawuleka kakhulu ngokusebenzisa izinkomba eziyingxenye ibonakala ngomyalo we-git stash, obone ukukhuphuka kwama-80% kwesivinini sokwenza kwezinye izimo.
- Indlela entsha "ye-cruft pack" isetshenzisiwe yokupakisha izinto ezingafinyeleleki ezingabaluliwe endaweni yokugcina (okungabhekiselwanga amagatsha noma omaka). Izinto ezingafinyeleleki zisuswa umqoqi wezibi, kodwa zihlala endaweni yokugcina isikhathi esithile ngaphambi kokuba zisuswe ukuze kugwenywe izimo zobuhlanga. Ukulandelela isikhathi sokwenzeka kwezinto ezingenakufinyeleleka, kuyadingeka ukunamathisela amathegi kubo ngesikhathi sokushintsha kwezinto ezifanayo, okungakuvumeli ukuzigcina efayeleni elilodwa lephakethe lapho zonke izinto zinesikhathi sokushintsha okufanayo. Ngaphambilini, ukulondoloza into ngayinye efayeleni elihlukile kuholele ezinkingeni lapho kunenani elikhulu lezinto ezintsha, ezingafinyeleleki ebezingakafaneleki ukususwa. Indlela ehlongozwayo "ye-cruft packs" ikuvumela ukuthi ugcine zonke izinto ezingafinyeleleki kufayela elilodwa lephakethe, futhi ubonise idatha ngesikhathi sokulungiswa kwento ngayinye kuthebula elihlukile eligcinwe kufayela elinesandiso esithi ".mtimes".
- Ku-Windows ne-macOS, kunendlela eyakhelwe ngaphakathi yokulandelela izinguquko ohlelweni lwefayela, okukuvumela ukuthi ugweme ukuphindaphinda kuwo wonke umkhombandlela osebenzayo lapho wenza imisebenzi efana "nesimo se-git". Ngaphambilini, ukulandelela izinguquko, izinsiza zangaphandle zokulandelela izinguquko ku-FS, njenge-Watchman, zingaxhunywa ngamahhuku, kodwa lokhu kwakudinga ukufakwa kwezinhlelo ezengeziwe nokucushwa. Manje umsebenzi oshiwo wakhelwe ngaphakathi futhi unganikwa amandla ngomyalo othi “git config core.fsmonitor true”.
- Emyalweni othi “git sparse-checkout”, usekelo lwenye indlela yemodi ethi “—cone”, indlela yokuchaza izifanekiso ze-cloning ngokwengxenye, kumenyezelwe ukuthi isiphelelwe yisikhathi, okuvumela, uma kunqunywa ingxenye yendawo yokugcina engaphansi. umsebenzi wokuhlanganisa, ukufaka kuhlu amafayela ngamanye kusetshenziswa i-syntax ethi “.gitignore”, engavumeli ukusetshenziswa ukuze kusetshenziswe izinkomba ezingaphelele.
- Ukwandisa ukuguquguquka ekulungiseleleni ikholi ye-fsync() ukuze uguqule izinguquko kudiski. Usekelo lwesu lokuvumelanisa elithi “inqwaba” yengezwe kupharamitha ye-“core.fsyncMethod”, evumela ukusheshisa umsebenzi lapho kubhalwa inani elikhulu lamafayela ngamanye ngokuqongelela izinguquko kunqolobane yokubhala, ehlelwa kabusha yi-fsync eyodwa() shayela. Ukuhlola, okuholele ekwengezweni kwamafayela angu-500 kusetshenziswa umyalo othi “git add”, kwaqedwa ngemizuzwana engu-0.15 lapho imodi entsha ivuliwe, kuyilapho ukushaya i-fsync() kuthathe imizuzwana engu-1.88 kufayela ngalinye, futhi ngaphandle kokusebenzisa i-fsync - imizuzwana engu-0.06 .
- Imiyalo eguquguqukayo yegatsha efana ne-“git log” kanye ne-“git rev-list” manje inenketho ethi “-since-as-filter=X” ekuvumela ukuthi uhlunge ulwazi mayelana nezibopho ezindala kuno-“X”. Ngokungafani nenketho ethi “-since”, umyalo omusha usetshenziswa njengesihlungi esingakuyeki ukusesha ngemva kokuzinikela kokuqala okudala kunesikhathi esishiwo.
- Kumyalo we-“git remote”, lapho ucacisa ifulegi elithi “-v”, ulwazi mayelana nama-clones ayingxenye yendawo yokugcina luyaboniswa.
- Kwengezwe isilungiselelo esithi "transfer.credentialsInUrl", esingathatha amanani "warn", "die" kanye "nokuvumela". Uma kucaciswe kupharamitha “remote. .url" imininingwane yombhalo ongenalutho, ukuzama ukwenza umsebenzi othi "landa" noma "phusha" kuzohluleka ngephutha uma isilungiselelo se-"transfer.credentialsInUrl" sisethwe ukuze sithi "die", noma isexwayiso uma simiswe ukuze sithi "xwayisa".
- Ngokuzenzakalelayo, ukuqaliswa okusha kwemodi yokusebenzisana yomyalo othi “git add -i”, obhalwe kabusha usuka ku-Perl uye ku-C, unikwe amandla.
Source: opennet.ru
