Pieejams izplatÄ«ta avota kontroles sistÄmas izlaiÅ”ana Git 2.26.0. Git ir viena no populÄrÄkajÄm, uzticamÄkajÄm un augstas veiktspÄjas versiju kontroles sistÄmÄm, kas nodroÅ”ina elastÄ«gus nelineÄrus izstrÄdes rÄ«kus, kuru pamatÄ ir sazaroÅ”ana un apvienoÅ”ana. Lai nodroÅ”inÄtu vÄstures integritÄti un noturÄ«bu pret retroaktÄ«vÄm izmaiÅÄm, katrÄ saistÄ«bÄ tiek izmantota visas iepriekÅ”ÄjÄs vÄstures netieÅ”a jaukÅ”ana, kÄ arÄ« ir iespÄjams sertificÄt atseviŔķus tagus un saistÄ«bas ar izstrÄdÄtÄju digitÄlajiem parakstiem.
SalÄ«dzinot ar iepriekÅ”Äjo versiju, jaunajÄ versijÄ tika iekļautas 504 izmaiÅas, kas sagatavotas, piedaloties 64 izstrÄdÄtÄjiem, no kurÄm 12 izstrÄdÄ piedalÄ«jÄs pirmo reizi. GalvenaisjauninÄjumiem:
NoklusÄjums ir pÄrslÄgts uz otrÄ versija Git sakaru protokols, ko izmanto, kad klients attÄlinÄti izveido savienojumu ar Git serveri. Protokola otrÄ versija ir ievÄrojama ar to, ka nodroÅ”ina iespÄju filtrÄt zarus un tagus servera pusÄ, atgriežot klientam saÄ«sinÄtu saiÅ”u sarakstu. IepriekÅ” jebkura vilkÅ”anas komanda vienmÄr nosÅ«tÄ«ja klientam pilnu atsauÄu sarakstu visÄ repozitorijÄ, pat ja klients atjauninÄja tikai vienu filiÄli vai pÄrbauda, āāvai viÅa repozitorija kopija ir atjauninÄta. VÄl viens ievÄrojams jauninÄjums ir iespÄja pievienot protokolam jaunas iespÄjas, kad rÄ«ku komplektÄ kļūst pieejama jauna funkcionalitÄte. Klienta kods joprojÄm ir saderÄ«gs ar veco protokolu un var turpinÄt strÄdÄt gan ar jauniem, gan veciem serveriem, automÄtiski atgriežoties pie pirmÄs versijas, ja serveris neatbalsta otro.
Komandai āgit configā ir pievienota opcija ā-show-scopeā, kas atvieglo noteiktu iestatÄ«jumu definÄÅ”anas vietas identificÄÅ”anu. Git ļauj definÄt iestatÄ«jumus dažÄdÄs vietÄs: repozitorijÄ (.git/info/config), lietotÄja direktorijÄ (~/.gitconfig), visas sistÄmas konfigurÄcijas failÄ (/etc/gitconfig) un ar komandu palÄ«dzÄ«bu. lÄ«nijas opcijas un vides mainÄ«gie. Izpildot āgit configā, ir diezgan grÅ«ti saprast, kur tieÅ”i ir definÄts vÄlamais iestatÄ«jums. Lai atrisinÄtu Å”o problÄmu, bija pieejama opcija ā--show-originā, taÄu tÄ parÄda tikai ceļu uz failu, kurÄ ir definÄts iestatÄ«jums, kas ir noderÄ«gi, ja vÄlaties rediÄ£Ät failu, bet nepalÄ«dz, ja jÄmaina vÄrtÄ«ba, izmantojot āgit configā, izmantojot opcijas ā--systemā, ā--globalā vai ā-localā. JaunÄ opcija "--show-scope" parÄda mainÄ«gÄ definÄ«cijas kontekstu, un to var izmantot kopÄ ar -show-origin:
IesieÅ”anas iestatÄ«jumos akreditÄcijas dati Masku izmantoÅ”ana vietrÄžos URL ir atļauta. Jebkurus HTTP iestatÄ«jumus un akreditÄcijas datus pakalpojumÄ Git var iestatÄ«t gan visiem savienojumiem (http.extraHeader, credential.helper), gan uz URL balstÄ«tiem savienojumiem (credential.https://example.com.helper, credential.https: //example. com.palÄ«gs). LÄ«dz Å”im aizstÄjÄjzÄ«mes, piemÄram, *.example.com, bija atļautas tikai HTTP iestatÄ«jumos, bet netika atbalstÄ«tas akreditÄcijas datu saistÄ«Å”anai. Git 2.26 Ŕīs atŔķirÄ«bas ir novÄrstas, un, piemÄram, lai saistÄ«tu lietotÄjvÄrdu visiem apakÅ”domÄniem, tagad varat norÄdÄ«t:
[akreditÄcijas dati "https://*.example.com"]
lietotÄjvÄrds = ttaylorr
EksperimentÄlÄ atbalsta paplaÅ”inÄÅ”ana daļÄjai klonÄÅ”anai (daļÄjiem kloniem) turpinÄs, ļaujot pÄrsÅ«tÄ«t tikai daļu datu un strÄdÄt ar nepilnu repozitorija kopiju. JaunajÄ laidienÄ ir pievienota jauna komanda "git sparse-checkout add", kas ļauj pievienot atseviŔķus direktorijus, lai lietotu operÄciju "checkout" tikai daļai no darba koka, nevis uzskaitÄ«t visus Å”Ädus direktorijus uzreiz, izmantojot komandu "git". rets izrakstÄ«Å”anÄs komplekts" (varat pievienot pa vienam direktorijai, katru reizi nenorÄdot visu sarakstu atkÄrtoti).
PiemÄram, lai klonÄtu git/git repozitoriju, neizraisot blobs, ierobežojot izrakstÄ«Å”anos tikai ar darba kopijas saknes direktoriju un atseviŔķi atzÄ«mÄjot izrakstÄ«Å”anos direktorijiem "t" un "Documentation", varat norÄdÄ«t:
$ git rets-checkout pievienot t
....
$ git sparse-checkout pievienot dokumentÄciju
....
$ git rets izrakstÄ«Å”anÄs saraksts
DokumentÄcija
t
Komandas āgit grepā, ko izmanto, lai meklÄtu gan paÅ”reizÄjÄ repozitorija saturÄ, gan vÄsturiskajos labojumos, veiktspÄja ir ievÄrojami uzlabota. Lai paÄtrinÄtu meklÄÅ”anu, bija iespÄjams skenÄt darba koka saturu, izmantojot vairÄkus pavedienus (āgit grep āthreadsā), taÄu meklÄÅ”ana vÄsturiskajos labojumos tika veikta ar vienu pavedienu. Tagad Å”is ierobežojums ir noÅemts, ievieÅ”ot iespÄju paralÄli nolasÄ«t no objekta krÄtuves. PÄc noklusÄjuma pavedienu skaits ir iestatÄ«ts vienÄds ar CPU kodolu skaitu, kas vairumÄ gadÄ«jumu tagad neprasa skaidri iestatÄ«t opciju ā-threadsā.
Pievienots atbalsts apakÅ”komandu, ceļu, saiÅ”u un citu komandas āgit worktreeā argumentu ievades automÄtiskai pabeigÅ”anai, kas ļauj strÄdÄt ar vairÄkÄm repozitorija darba kopijÄm.
Pievienots atbalsts spilgtÄm krÄsÄm, kurÄm ir ANSI evakuÄcijas secÄ«bas. PiemÄram, izcelto krÄsu iestatÄ«jumos āgit config ācolorā vai āgit diff ācolor-movedā varat norÄdÄ«t ā%C(brightblue)ā, izmantojot opciju ā--formatā spilgti zilai krÄsai.
Pievienota jauna skripta versija fsmonitor-sargs, nodroÅ”inot integrÄciju ar mehÄnismu Facebook Sargs lai paÄtrinÄtu failu izmaiÅu izsekoÅ”anu un jaunu failu parÄdÄ«Å”anos. PÄc atjauninÄÅ”anas ir nepiecieÅ”ams git aizstÄt ÄÄ·is repozitorijÄ.
Pievienota optimizÄcija, lai paÄtrinÄtu daļÄju klonÄÅ”anu, izmantojot bitkartes
(bitkartes iekÄrtas), lai izvairÄ«tos no pilnÄ«gas visu objektu meklÄÅ”anas, filtrÄjot izvadi. Tagad tiek veikta blobu pÄrbaude (āfilter=blob:none un āfilter=blob:limit=n) daļÄjas klonÄÅ”anas laikÄ.
ievÄrojami ÄtrÄk. GitHub paziÅoja par ielÄpiem ar Ŕīm optimizÄcijÄm un eksperimentÄlu atbalstu daļÄjai klonÄÅ”anai.
Komanda "git rebase" ir pÄrvietota uz citu aizmugursistÄmu, izmantojot noklusÄjuma sapludinÄÅ”anas mehÄnismu (iepriekÅ” izmantots "rebase -i"), nevis "patch+apply". AizmugursistÄmas dažos nelielos veidos atŔķiras, piemÄram, pÄc darbÄ«bas turpinÄÅ”anas pÄc konflikta atrisinÄÅ”anas (git rebase --continue), jaunÄ aizmugursistÄma piedÄvÄ rediÄ£Ät commit ziÅojumu, bet vecÄ vienkÄrÅ”i izmantoja veco ziÅojumu. Lai atgrieztos pie iepriekÅ”ÄjÄs darbÄ«bas, varat izmantot opciju "--apply" vai iestatÄ«t konfigurÄcijas mainÄ«go "rebase.backend" uz "apply".
AutentifikÄcijas parametru apdarinÄtÄja piemÄrs, kas norÄdÄ«ts, izmantojot .netrc, ir samazinÄts lÄ«dz formai, kas piemÄrota lietoÅ”anai Ärpus kastes.
Pievienots iestatÄ«jums gpg.minTrustLevel, lai iestatÄ«tu minimÄlo uzticamÄ«bas lÄ«meni dažÄdiem elementiem, kas veic ciparparaksta pÄrbaudi.
Pievienota opcija "--pathspec-from-file" "git rm" un "git stash".
Testu komplektu uzlaboÅ”ana turpinÄjÄs, gatavojoties pÄrejai uz SHA-2 jaukÅ”anas algoritmu SHA-1 vietÄ.