Git 2.37 siidaynta xakamaynta isha

Siideynta nidaamka xakamaynta isha qaybsan ee Git 2.37 ayaa lagu dhawaaqay. Git waa mid ka mid ah nidaamyada xakamaynta nooca ugu caansan, la isku halayn karo iyo waxqabadka sare, oo bixiya qalab horumarineed oo dabacsan oo aan toos ahayn oo ku salaysan laanta iyo isku darka. Si loo hubiyo daacadnimada taariikhda iyo iska caabinta isbeddellada dib-u-noqoshada ah, hashing aan toos ahayn oo taariikhdii hore oo dhan ayaa loo adeegsadaa ballan kasta; waxa kale oo suurtagal ah in la caddeeyo calaamadaha gaarka ah oo lagu sameeyo saxeexyada dhijitaalka ah ee horumariyeyaasha.

Marka la barbardhigo sii-dayntii hore, 395 isbeddel ayaa lagu ansixiyay nooca cusub, oo loo diyaariyey ka qaybgalka horumarinta 75, kuwaas oo 20 ka mid ah ay ka qaybqaateen horumarinta markii ugu horeysay. Hal-abuurka ugu muhiimsan:

  • Habka tusmooyinka qayb ka mid ah (index of sparse index), oo daboolaya qayb ka mid ah kaydka, ayaa loo diyaariyey in si baahsan loo isticmaalo. Tilmaamaha qayb ka mid ah waxay wanaajin karaan waxqabadka waxayna kaydin karaan meel bannaan oo kayd ah oo qabta hawlgallada qayb ka mid ah cloning (sparse-checkout) ama la shaqeeya nuqul aan dhamaystirnayn oo kaydka ah. Siideynta cusubi waxay dhamaystiraysaa is dhexgalka tusmooyinka qayb ahaan bandhigga git, git sparse-checkout, iyo git stash amarrada. Faa'iidada waxqabadka ugu badan ee la dareemi karo marka la isticmaalo tusmooyinka qayb ahaan waxaa lagu arkay amarka git stash, kaas oo arkay 80% korodhka xawaaraha fulinta xaaladaha qaarkood.
  • Hannaan cusub oo "xirmo-qashin ah" ayaa la hirgeliyay si loogu xirxiro walxaha aan la gaari karin ee aan lagu tixraacin kaydka (aanay tixraacin laamaha ama calaamadaha). Walxaha aan la gaari karin waxaa tirtira qashin ururiyaha, laakiin ku sii jira kaydka in muddo ah ka hor inta aan la tirtirin si looga fogaado xaaladaha jinsiyadeed. Si loola socdo xilliga ay dhacaan walxaha aan la gaari karin, waxaa lagama maarmaan ah in lagu dhejiyo calaamado iyaga oo leh wakhtiga isbeddelka walxaha la midka ah, taas oo aan u oggolaan in lagu kaydiyo hal fayl oo baakidh ah oo dhammaan walxaha ay leeyihiin waqti isbeddel ah oo caadi ah. Markii hore, shay kasta oo lagu kaydiyo fayl gaar ah ayaa horseeday dhibaatooyin marka ay jiraan tiro badan oo cusub, walxo aan la gaadhi karin oo aan weli u qalmin in la tirtiro. Habka loo soo jeediyay ee "xirmooyinka cruft" wuxuu kuu ogolaanayaa inaad ku kaydiso dhammaan walxaha aan la gaari karin hal fayl oo baakidh ah, oo aad ka tarjumayso xogta wakhtiga wax ka beddelka shay kasta oo ku jira miis gaar ah oo lagu kaydiyay faylka leh ".mtimes" kordhinta.
  • Windows iyo macOS, waxaa jira hannaan ku dhisan oo lagula socdo isbeddelada nidaamka faylka, taasoo kuu oggolaaneysa inaad iska ilaaliso inaad ku celceliso dhammaan tusaha shaqada marka aad fulineyso hawlgallada sida β€œgit status”. Markii hore, si loo raad raaco isbeddelada, yutiilitida dibadda ee raadraaca isbeddelada FS, sida Watchman, ayaa lagu xidhi karaa iyada oo la adeegsanayo jillaab, laakiin tani waxay u baahan tahay rakibidda barnaamijyo dheeraad ah iyo qaabeynta. Hadda shaqada la cayimay waa lagu dhex dhisay waxaana lagu awoodsiin karaa amarka "git config core.fsmonitor true".
  • Amarka "git sparse-checkout", taageerada beddelka qaabka "-koon", habka qeexida qaab-dhismeedka qayb ka mid ah cloning, ayaa lagu dhawaaqay mid duugoobay, kaas oo ogolaanaya, marka la go'aaminayo qaybta kaydka ee ay khusayso Hawlgalka cloning, si loo liis gareeyo faylalka gaarka ah iyadoo la adeegsanayo ".gitignore" syntax, kaas oo aan u oggolaan isticmaalka hagaajinta tusmooyinka qayb ahaan.
  • Kordhinta dabacsanaanta ee habaynta fsync() wac si loogu daadiyo isbeddelada saxanka. Taageerada istaraatiijiyadda isku-dhafka ah ee "dufcada" ayaa lagu daray halbeegga "core.fsyncMethod", kaas oo u oggolaanaya dardargelinta shaqada marka la qorayo tiro badan oo faylasha shakhsi ah iyada oo la ururinayo isbeddelada kaydka qoraalka, kaas oo dib loo dejiyo hal fsync () wac Tijaabada, oo keentay in 500 oo faylal lagu daro iyadoo la adeegsanayo amarka "git add", ayaa lagu dhammeeyay 0.15 ilbiriqsi markii habka cusub la furay, halka fsync () wacaya 1.88 ilbiriqsi fayl kasta, iyo iyada oo aan la isticmaalin fsync - 0.06 seconds.
  • Amarrada socdaalka laanta sida "git log" iyo "git rev-list" hadda waxay leeyihiin ikhtiyaar "-since-as-filter=X" kaas oo kuu ogolaanaya inaad sifayso macluumaadka ku saabsan dembiyada ka weyn "X". Si ka duwan ikhtiyaarka "- tan", amarka cusub waxaa loo fuliyaa sidii shaandheyn aan joojinayn raadinta ka dib marka ugu horreysa ee la sameeyo ka weyn wakhtiga la cayimay.
  • Amarka "git remote", marka la tilmaamayo calanka "-v", macluumaadka ku saabsan qayb ka mid ah clones ee kaydka ayaa la soo bandhigayaa.
  • Lagu daray "transfer.credentialsInUrl", kaas oo qaadan kara qiyamka "digniin", "die" iyo "ogolow". Haddii lagu qeexo halbeegga β€œremote. .url" cadeynta qoraalka cad, isku dayga in la sameeyo "qaadid" ama "riix" hawlgalka waxay ku guuldareysan doontaa qalad haddii goobta "transfer.credentialsInUrl" loo dejiyay inay "dhinto", ama digniin haddii loo dhigo "digniin".
  • Sida caadiga ah, hirgelinta cusub ee habka is-dhexgalka ee amarka "git add -i", oo dib looga qoray Perl ilaa C, waa la dajiyay.

Source: opennet.ru

Add a comment