Bayan watanni biyu na ci gaba, Git 2.39, tsarin sarrafa lambar tushe da aka rarraba, an sake shi. Git yana ɗaya daga cikin mafi mashahuri, abin dogaro, kuma tsarin sarrafa nau'ikan ayyuka masu inganci, yana ba da sassauƙa, ƙarfin ci gaba mara daidaituwa dangane da reshe da haɗawa. Don tabbatar da amincin tarihi da juriya ga sauye-sauye na dawowa, ana amfani da hashing na tarihin da ya gabata a cikin kowane alƙawarin, kuma ana iya amfani da sa hannun dijital na alamun kowane mutum da aikatawa.
Idan aka kwatanta da sakin da ya gabata, sabon sigar ya haɗa da canje-canje 483 da aka shirya tare da sa hannun masu haɓakawa 86, 31 waɗanda sababbi ne ga aikin. Sabbin sabbin abubuwa sun haɗa da:
- Umurnin "git shortlog", wanda ke nuna taƙaitaccen ƙididdiga daga tarihin ƙaddamarwa, yanzu yana da zaɓi na "--group" don haɗa ƙungiyoyin al'ada ta filayen ban da marubuci ko mai aiwatarwa. Misali, don nuna jerin masu haɓakawa tare da bayanai kan adadin canje-canje, gami da masu ba da gudummawa da aka ambata a cikin filin "Co-authored-by", zaku iya amfani da umarnin: git shortlog -ns --group=author --group=trailer:co-authored-by
Za'a iya haɗa fitar da gajeriyar hanya ta amfani da ƙididdiga masu tsarawa, kuma zaɓin "--group" yana ba da sauƙin ƙirƙirar rahotanni masu rikitarwa ba tare da aiwatar da ƙarin umarni na rarraba ba. Misali, don samar da rahoton da ke nuna adadin sadaukarwa don sakin da aka karɓa a kowane wata, zaku iya ƙayyade: git shortlog v2.38.0.. --date='tsara:%Y-%m' --group='%cd' -s 2 2022-08 47 2022-09 44-10122021 2022-12 A baya can, irin wannan aiki zai buƙaci yin amfani da nau'i da kayan aiki na uniq: git log v2.38.0 irin | wani -c
- An faɗaɗa tsarin “cruft packs”, wanda aka ƙera don tattara abubuwan da ba za a iya isa ba waɗanda rassa ko alamomin da ke cikin ma’adana ba su yi nuni da su ba. Abubuwan da ba za a iya isa ba ana tattara datti amma suna kasancewa a cikin ma'ajiya na wani ɗan lokaci kafin a cire su don hana yanayin tsere. Tsarin "cruft packs" yana ba da damar adana duk abubuwan da ba za a iya isa ba a cikin fakitin fakiti guda ɗaya, da kuma adana lokutan gyare-gyare ga kowane abu a cikin keɓantaccen tebur da aka adana a cikin wani fayil daban tare da tsawo na ".mtimes", don kada su tsoma baki tare da lokutan gyara gabaɗaya.
Lokacin da abubuwan da ba za a iya isarsu su kasance a cikin ma'ajiya ba kafin a goge su a zahiri an ƙayyade ta hanyar "--prune=" zaɓi. "Duk da haka, yayin da jinkiri kafin shafewa hanya ce mai inganci kuma mai amfani don hana cin hanci da rashawa na ajiya saboda yanayin tseren, ba 100% abin dogara ba ne. Don sauƙaƙe dawo da ma'ajin da aka lalata, sabon sakin yana ba da damar adana abubuwan da suka ɓace. A saboda wannan dalili, an ƙara zaɓin "--expire-to" a cikin "git repack" umarni don ƙirƙirar wani abu na waje. misali, don adana abubuwan da ba a iya isarsu waɗanda ba su canza ba a cikin mintuna 5 na ƙarshe a cikin fayil ɗin backup.git, zaku iya amfani da umarnin: git repack --cruft --cruft-expiration=5.minutes.ago -d --expire-to=../backup.git
- Ayyukan "git grep --cached" umurnin ya ƙaru sosai (har zuwa 70%) lokacin da ake nema a wuraren da ke amfani da ɓangarorin dubawa kuma suna da fihirisa juzu'i (ƙididdigar ƙididdiga). A baya can, lokacin da aka ƙayyade zaɓin "--cached", an fara bincika maƙasudin yau da kullun, sannan kuma fihirisar ɓangarori, wanda ya haifar da jinkiri lokacin neman manyan ma'ajiyar.
- An hanzarta aiwatar da aikin uwar garke Duba haɗin sabbin abubuwa kafin sanya su cikin ma'ajiyar bayanai yayin aikin git push. Ta hanyar canzawa zuwa la'akari da hanyoyin haɗin da aka ayyana kawai yayin dubawa, a cikin ma'ajiyar gwaji tare da hanyoyin haɗin miliyan 7, waɗanda kashi 3% kawai suka rufe ta hanyar aikin turawa, waɗannan haɓakawa sun rage lokacin dubawa da sau 4.5.
- Don karewa daga yuwuwar yawan adadin lamba a cikin lambar, umarnin "git apply" yanzu yana iyakance iyakar girman facin da aka sarrafa. Duk girman facin da ya wuce 1 GB yanzu zai haifar da kuskure.
- Don karewa daga yuwuwar lahani, an yi canje-canje don tsaftace bayanan da ba dole ba daga saitin kantuna lokacin amfani da tsarin h2h3 tare da zaɓin GIT_TRACE_CURL=1 ko GIT_CURL_VERBOSE=1 tare da HTTP/2.
- Lokacin yin aikin dubawa akan reshe wanda shine alamar haɗin gwiwa zuwa wani reshe, umarnin git symbolic-ref HEAD yanzu yana buga sunan reshen da aka yi niyya maimakon sunan hanyar haɗin yanar gizo.
- Ƙara goyon baya ga hujjar @{-1} zuwa zaɓin "-edit-description" ("reshen git --edit-description @{-1}") don gyara bayanin reshe da ya gabata.
- An ƙara umarnin "git merge-tree --stdin", wanda ke ba ku damar wuce jerin zaɓuɓɓuka ta hanyar daidaitaccen rafi na shigarwa.
- A tsarin fayilolin cibiyar sadarwa, fsmonitor mai kula da, wanda ke sa ido kan canje-canje a cikin tsarin fayil, an kashe shi ta tsohuwa.
source: budenet.ru
