jaotatud tekstihalduse sĂŒsteemi vĂ€ljaanne . Git on ĂŒks populaarsemaid, usaldusvÀÀrsemaid ja kĂ”rge jĂ”udlusega versioonihaldussĂŒsteeme, mis pakub paindlikke vahendeid mittelineaarseks arendamiseks, mis pĂ”hinevad harude haldamisel ja ĂŒhendamisel. Ajaloo terviklikkuse ja tagasivĂ”tmise muutuste suhtes tagatakse mitteilmne rĂ€simine kogu eelneva ajaloo igas commitis, samuti on vĂ”imalik eraldi sildite ja commitite digitaalsete allkirjadega kinnitamine.
Uue versiooniga on tehtud 504 muudatust, mille on teinud 64 arendajat, kellest 12 osales arenduses esmakordselt. :
- Olenud kaua ootamas, oleme nĂŒĂŒd ĂŒleminekuga vaikimisi Git-i suhtlusprotokolli, mis on vajalik kliendi kaugĂŒhenduseks Git-serveriga. Protokolli teise versiooni uusus seisneb serveripoolel harude ja siltide filtreerimise vĂ”imaluses, millega kliendile edastatakse lĂŒhendatud linkide nimekiri. Varem edastati igasuguste tĂ”mmiste kĂ€ivitamisel klientidele alati tĂ€iskogumik kĂ”igist linkidest, isegi kui klient uuendas vaid ĂŒhte haru vĂ”i kontrollis oma kohalikku repositooriumi. Teine suur uuendus on uute funktsioonide vĂ”imaldamine protokollis, kui uued funktsioonid muutuvad kergesti kĂ€ttesaadavaks. Kliendi kood jÀÀb vanade protokollide jaoks ĂŒhilduvaks ja töötab nii uute kui ka vanade serveritega, automaatselt naastes esimese versiooni juurde, kui server ei toeta teist.
- KĂ€sku «git config» on lisatud valik «âshow-scope», mis lihtsustab nende seade mÀÀramise kohta teabe leidmist. Git vĂ”imaldab seadistusi mÀÀrata erinevates kohtades: repositooriumi sees (.git/info/config), kasutaja kataloogis (~/.gitconfig), ĂŒldsĂŒsteemi konfiguratsioonifailis (/etc/gitconfig), samuti kĂ€surea valikute ja keskkonnamuutujate kaudu. «git config» kĂ€ivitamine on keeruline selle mÀÀratlemise konteksti teadmiseks. Varem oli saadaval valik «âshow-origin», mis lihtsalt nĂ€itas faili tee, kus seade mÀÀratletud, mis on kasulik faili redigeerimise ajal, kuid ei aita, kui soovitakse vÀÀrtust muuta kĂ€suga «git config» koos valikutega «âsystem», «âglobal» vĂ”i «âlocal». Uus valik «âshow-scope» kuvab muutujate mÀÀratlemise konteksti ja seda saab kasutada koos âshow-origin:
$ git âlist âshow-scope âshow-origin
global file:/home/user/.gitconfig diff.interhunkcontext=1
global file:/home/user/.gitconfig push.default=current
[âŠ]
local file:.git/config branch.master.remote=origin
local file:.git/config branch.master.merge=refs/heads/master$ git config âshow-scope âget-regexp âdiff.*â
global diff.statgraphwidth 35
local diff.colormoved plain$ git config âglobal âunset diff.statgraphwidth
- Siduvate seadistuste URL maskide kasutamine on lubatud. HTTP seadistusi ja Git'i autentimist vĂ”ib seadistada nii kĂ”igile ĂŒhendustele (http.extraHeader, credential.helper) kui ka URL-i kinnitatud ĂŒhendustele (credential.https://example.com.helper, credential.https://example.com.helper). Aikani on maskide, nagu *.example.com, kasutamine olnud lubatud ainult HTTP seadistuste jaoks, kuid pole toetatud autentimiskinnituste sidumisel. Git 2.26 on need erinevused kĂ”rvaldatud ja nĂ€iteks saab kasutajanime siduda nĂŒĂŒd kĂ”igile alamdomeenidele:
[credential «https://*.example.com»]
username = ttaylorr
- Eksperimenteerimise toe jĂ€tkamine osaliste kloonide (partial clones) osas, mis vĂ”imaldab kanda edasi vaid osa andmeid ja töötada puuduliku repositooriumi koopiaga. Uues versioonis on lisatud uus kĂ€sk âgit sparse-checkout addâ, mis vĂ”imaldab lisada ĂŒksikuid kaustu âcheckoutâ toimingu rakendamiseks vaid osa tööpuust, selle asemel et loetleda kĂ”ik sellised kaustad korraga kĂ€su âgit sparse-checkout setâ kaudu (saab lisada kaustasid ĂŒksikult, ilma et peaks iga kord kogu loendit uuesti esitama).
NĂ€iteks repositooriumi git/git kloonimise korral ilma blobide edastamiseta, piirates kontrolli ainult töökoopia juurkaustaga ja eraldi mĂ€rgistusega kataloogide âtâ ja âDocumentationâ vĂ€ljavĂ”tmiseks, saab mĂ€rkida:$ git clone âfilter=blob:none âsparse git@github.com:git/git.git
$ cd git
$ git sparse-checkout init âcone$ git sparse-checkout add t
âŠ.
$ git sparse-checkout add Documentation
âŠ.
$ git sparse-checkout list
Dokumentatsioon
t - KĂ€sku âgit grepâ on mĂ€rgatavalt kiirus suurenenud, kasutades nii praegust repositooriumi sisu kui ka ajaloolisi ĂŒlevaateid. Otsimise kiirendamiseks oli lubatud tööpuude sisu skanneerimine mitme lĂ”imega (âgit grep âthreadsâ), kuid ajalooliste ĂŒlevaatuste otsimine oli ĂŒhe lĂ”imega. NĂŒĂŒd on see piirang eemaldatud objekti salvestuses lugemise toimingute paralleelseteks rakendamiseks. Vaikimisi mÀÀratakse lĂ”imede arv CPU tuumade arvule, mis enamikel juhtudel ei nĂ”ua nĂŒĂŒd valiku ââthreadsâ selget seadistamist.
- Lisatud on automaatse tĂ€itmise tugi alakkĂ€skude, teede, linkide ja teiste âgit worktreeâ kĂ€su argumentide sisestamiseks, mis vĂ”imaldab töötada mitme repositooriumi töökoopia korral.
- Toetatud on erksate vÀrvide kasutamine, mille jaoks on olemas ANSI escape-jÀrjestused. NÀiteks vÀrvitoonide seadetes "git config --color" vÔi "git diff --color-moved" variandi "--format" puhul saab erksinise jaoks kasutada "%C(brightblue)".
- Lisatud on uus skripti versioon , mis tagab integreerimise failide muudatuste jÀlgimise ja uute failide ilmumise kiirendamiseks. PÀrast git'i vÀrskendamist tuleb hook-i hoidlas.
- Lisatud on optimeerimised osaliste kloonimise (partial clones) operatsioonide kiirendamiseks, mis on seotud bitikaarte kasutamisega
(bitmap machinery), et vĂ€ltida kĂ”ikide objektide tĂ€islĂ€bimist andmete filtreerimise ajal. Kontroll blobide ĂŒle (âfilter=blob:none ja âfilter=blob:limit=n) osalise kloonimise korral toimub nĂŒĂŒd
oluliselt kiiremini. GitHub teatas nende optimeerimisega seotud patchide rakendamisest ning katse otse toetamist osalise kloonimise jaoks. - KĂ€sku «git rebase» on viidud teisele taustale, mis kasutab nĂŒĂŒd vaikimisi âmergeâ mehhanismi (varem kasutati «rebase -i» puhul) selle asemel, et kasutada âpatch+applyâ. MĂ”nes detailis erinesid taustad, nĂ€iteks pakkus uus taust pĂ€rast konflikti lahendamise jĂ€tkamist (git rebase âcontinue) vĂ”imalust redigeerida commiti sĂ”numit, samas kui vana kasutas lihtsalt vana sĂ”numit. Vana kĂ€itumise taastamiseks vĂ”ib kasutada valikut «âapply» vĂ”i seada konfiguratsioonimuutuja ârebase.backendâ vÀÀrtuseks âapplyâ.
- Autentimise parameetrite kÀsitleja, mis on mÀÀratud .netrc kaudu, on muudetud kasutamiseks valmis kujule.
- Lisatud on seade gpg.minTrustLevel, et mÀÀrata minimaalne usaldusvÀÀrsuse tase erinevatele elementidele, mis kontrollivad digitaalset allkirja.
- KĂ€skudes «git rm» ja «git stash» on lisatud valik «âpathspec-from-file».
- Testrijade tĂ€iendamine on jĂ€tkunud seoses SHA-2 krĂŒptograafilise algoritmi ĂŒleminekuga SHA-1 asemel.
Allikas: opennet.ru
