Lẹhin oṣu meji ti idagbasoke, eto iṣakoso orisun pinpin Git 2.39 ti tu silẹ. Git jẹ ọkan ninu awọn eto iṣakoso ẹya ti o gbajumọ julọ, igbẹkẹle ati iṣẹ ṣiṣe giga, pese awọn irinṣẹ idagbasoke ti kii ṣe laini ti o da lori ẹka ati apapọpọ. Lati rii daju iduroṣinṣin ti itan-akọọlẹ ati atako si awọn ayipada ifẹhinti, hashing ti gbogbo itan iṣaaju ni a lo ninu ifaramọ kọọkan;
Ti a ṣe afiwe si itusilẹ ti tẹlẹ, ẹya tuntun pẹlu awọn iyipada 483, ti a pese sile pẹlu ikopa ti awọn olupilẹṣẹ 86, eyiti 31 ṣe alabapin ninu idagbasoke fun igba akọkọ. Awọn imotuntun akọkọ:
- Aṣẹ “git shortlog”, ti a ṣe lati ṣe afihan awọn akopọ pẹlu awọn iṣiro lati itan-akọọlẹ awọn ayipada, ti ṣafikun aṣayan “-ẹgbẹ” fun ṣiṣe akojọpọ lainidii ti awọn iṣẹ nipasẹ awọn aaye ti ko ni opin si onkọwe tabi oluṣe. Fún àpẹrẹ, láti ṣàfihàn àtòjọ àwọn olùgbékalẹ̀ pẹ̀lú ìwífún nípa iye àwọn ìyípadà, ní ìṣirònú àwọn olùrànlọ́wọ́ tí a mẹ́nu kàn nínú pápá “Àjọ-authored-by”, o le lo àṣẹ náà: git shortlog -ns --group=author - -group=Tílẹ̀lẹ̀:àjọ-alákọ̀wé
Iṣẹjade Shortlog le ṣe akojọpọ ni lilo awọn asọye kika, ati aṣayan “--ẹgbẹ” le ṣe irọrun ṣiṣẹda awọn ijabọ eka ni pataki ati imukuro iwulo fun awọn aṣẹ yiyan ni afikun. Fun apẹẹrẹ, lati ṣẹda ijabọ kan pẹlu alaye nipa iye awọn adehun fun idasilẹ ti a gba ni oṣu kọọkan, o le sọ pato: git shortlog v2.38.0.. —date='kika:%Y-%m' —group=' %. .. —date='kika:%Y -%m' —kika='%cd' | lẹsẹsẹ | uniq -c
- Awọn agbara ti ẹrọ "awọn akopọ cruft", ti a ṣe apẹrẹ fun iṣakojọpọ awọn ohun ti a ko le wọle ti ko ni itọkasi ni ibi ipamọ (kii ṣe itọkasi nipasẹ awọn ẹka tabi awọn aami), ti ni ilọsiwaju. Awọn nkan ti a ko le de ni a paarẹ nipasẹ agbodọti, ṣugbọn wa ninu ibi ipamọ fun akoko kan ṣaaju ki o to paarẹ lati yago fun awọn ipo ere-ije. Ilana “awọn akopọ cruft” ngbanilaaye lati ṣafipamọ gbogbo awọn nkan ti a ko le de sinu faili idii kan, ati ṣafihan data lori akoko iyipada ti ohun kọọkan ni tabili lọtọ, ti o fipamọ sinu faili lọtọ pẹlu itẹsiwaju “.mtimes”, ki wọn le ṣe. ko ni lqkan pẹlu awọn lapapọ iyipada akoko.
Gigun akoko ti awọn nkan ti ko le de ọdọ wa ninu ibi ipamọ ṣaaju ki wọn to paarẹ ni otitọ jẹ ipinnu nipasẹ aṣayan “—prune=” " Sibẹsibẹ, lakoko idaduro ṣaaju piparẹ jẹ ọna ti o munadoko ati ọna ti o wulo lati ṣe idiwọ ibajẹ ibi ipamọ nitori awọn ipo ije, kii ṣe 100% gbẹkẹle. Lati jẹ ki o rọrun lati mu pada ibi ipamọ ti o bajẹ, itusilẹ tuntun n pese agbara lati fipamọ awọn nkan ti o padanu nipa fifi aṣayan “--expire-to” kun si aṣẹ “git repack”, eyiti o fun ọ laaye lati pato faili kan lati ṣẹda ita gbangba. daakọ ti gbogbo paarẹ ohun. Fun apẹẹrẹ, lati ṣafipamọ awọn nkan ti ko le de ti ko yipada ni iṣẹju 5 to kẹhin ninu faili backup.git, o le lo aṣẹ naa: git repack --cruft --cruft-expiration=5.minutes.ago -d --expire -to=../backup.git
- Ti o pọ si ni pataki (to 70%) iyara ti iṣẹ “git grep -cached” nigba wiwa ni awọn agbegbe ti o lo cloning apa kan (ṣayẹwo-ṣayẹwo) ati fun eyiti awọn atọka apakan wa (itọka fọnka). Ni iṣaaju, nigbati o ba n ṣalaye aṣayan "-cached", a ti ṣe wiwa ni akọkọ ni atọka deede, ati lẹhinna ni awọn apakan, eyiti o mu ki awọn idaduro ti o ṣe akiyesi nigba wiwa ni awọn ibi ipamọ nla.
- A ti mu ipaniyan naa yara si i olupin Ṣíṣàyẹ̀wò ìsopọ̀ àwọn ohun tuntun kí a tó fi wọ́n sínú ibi ìpamọ́ nígbà iṣẹ́ git push. Nípa yíyípadà sí gbígbé àwọn ìjápọ̀ tí a ti kéde nìkan yẹ̀ wò nígbà ìṣàyẹ̀wò, nínú ibi ìpamọ́ ìdánwò pẹ̀lú àwọn ìjápọ̀ mílíọ̀nù 7, 3% nínú èyí tí iṣẹ́ titari bo, àwọn ìṣelọ́pọ́ wọ̀nyí dín àkókò ìṣàyẹ̀wò kù ní ìgbà 4.5.
- Lati daabobo lodi si odidi o pọju ṣiṣan ninu koodu naa, aṣẹ “git apply” ṣe opin iwọn ti o pọju ti awọn abulẹ ti o le ṣe ilọsiwaju. Ti iwọn alemo ba kọja 1 GB, aṣiṣe yoo han ni bayi.
- Lati daabobo lodi si awọn ailagbara ti o pọju, awọn ayipada ti ṣe lati nu alaye ti ko wulo lati awọn akọle ti a ṣeto nigba lilo module h2h3 pẹlu GIT_TRACE_CURL=1 tabi GIT_CURL_VERBOSE=1 aṣayan papọ pẹlu HTTP/2.
- Nigbati o ba n ṣe ayẹwo lori ẹka kan ti o jẹ ọna asopọ aami si ẹka miiran, aṣẹ “git symbolic-ref HEAD” ni bayi ṣafihan orukọ ti eka ibi-afẹde ju orukọ aami aami.
- Ṣe afikun atilẹyin fun ariyanjiyan @{-1} si aṣayan “--edit-description” (“ẹka git —edit-description @{-1}”) fun ṣiṣatunṣe apejuwe ẹka iṣaaju.
- Ṣafikun aṣẹ “git merge-tree --stdin” lati ṣe atokọ ti awọn paramita nipasẹ titẹ sii boṣewa.
- Lori awọn ọna ṣiṣe faili nẹtiwọọki, olutọju fsmonitor, eyiti o ṣe abojuto awọn ayipada ninu eto faili, jẹ alaabo nipasẹ aiyipada.
orisun: opennet.ru
