KĂ€esolev vĂ€ljaanne tutvustab jaotatud allikate juhtimissĂŒsteemi Git-i versiooni 2.38. Git on ĂŒks populaarsemaid, usaldusvÀÀrsemaid ja kĂ”rge tootlikkusega versioonihaldussĂŒsteeme, mis pakub paindlikke vahendeid mittelineaarseks arendamiseks, mis pĂ”hinevad harude loomisel ja ĂŒhendamisel. Ajaloo terviklikkuse ja tagasisuunade vastu resistentsuse tagamiseks kasutatakse kogu varasema ajaloo varjatud hashimist igas kommis; samuti on vĂ”imalik kinnitada vĂ€ljaandeid ja kommitite digitaalsete allkirjadega.
VÔrreldes eelmise vÀljaandega on uude versiooni lisatud 699 muudatust, mille on ette valmistanud 92 arendajat, kellest 24 osaleb arendustegevuses esmakordselt. Peamised uuendused:
- PĂ”hikoosseisu kuulub Microsofti vĂ€lja töötatud utiliit âscalarâ, mis on mĂ”eldud suurte reposiitoodete haldamiseks. Utiliit kirjutati algselt C# keeles, kuid git sisaldab selle ĂŒmberkirjutatud versiooni C keeles. Uus utiliit erineb git kĂ€skudest, kuna sellel on vaikimisi lisatud tĂ€iendavad funktsioonid ja seaded, mis mĂ”jutavad jĂ”udlust vĂ€ga suurte reposiitoodetega töötamisel. NĂ€iteks scalar'i kasutamisel rakendatakse:
- Osalist kloonimist, et töötada mittetÀieliku repositooriumi koopia pÔhjal.
- Sisseehitatud muudatuste jÀlgimise mehhanism (FSMonitor), mis vÔimaldab vÀltida kogu töökausta lÀbiotsimist.
- Indeksid, mis katab objekte erinevates pack-failides (multi-pack).
- Commit-graph failid komiteede graafikutega, mida kasutatakse ĂŒlesannete teabe juurdepÀÀsu optimeerimiseks.
- Taustal toimuvad perioodilised tööd, et hoida hoidla struktuur optimaalsena taustal, ilma interaktiivset sessiooni blokeerimata (iga tunni jÀrel toimub vÀrskete objektide ennetav laadimine eemalt hoidlatest ning igal ööl kÀivitub hoidla pakkimisprotsess).
- ReĆŸiim âsparseCheckoutConeâ, mis piirab lubatud mustreid osaliselt kloonimisel.
- KĂ€sku âgit rebaseâ on lisatud valik ââupdate-refsâ, et vĂ€rskendada sĂ”ltuvaid harusid, mis ristuvad liigutatavate harudega, et iga sĂ”ltuva haru jaoks ei oleks vaja kĂ€sitsi checkout'i teha, et lĂŒlituda soovitud commit'ile.
- KĂ€sk âgit rmâ on kohandatud osaliste indeksite toe jaoks.
- KĂ€sku âgit mv A Bâ on parendatud, kui faili liigutatakse tööruumist osaliste indeksite reĆŸiimis âconeâ vĂ€line ala, millele seda reĆŸiimi ei kohaldata.
- Bitmap-faili formaat on optimeeritud suurte hoidlate jaoks - lisatud valikuline indeksitabel valitud commit'ide ja nende liikumiste loeteluks.
- Meeskonda «git merge-tree» on lisatud uus reĆŸiim, kus kahe antud commit'i pĂ”hjal arvutatakse ĂŒhendamise tulemuspuu, nagu oleks nende commit'ide ajalugu kokku ĂŒhendatud.
- Lisatud on seade «safe.barerepository», et hallata vĂ”imalust paigutada bare-reposiitoreid (reposiidid, mis ei sisalda töötavat puu) teiste git-reposiitide sisse. Kui seadistada vÀÀrtuseks «explicit», lubatakse töötada ainult ĂŒlemises kataloogis asuvate bare-reposiitidega. Bare-reposiitide paigutamiseks alamkataloogidesse tuleks kasutada vÀÀrtust «all».
- KĂ€sku «git grep» on lisatud valik «-m» («âmax-count»), mis on sarnane sama nimega valikule GNU grep'is ja vĂ”imaldab piirata vĂ€ljundisse tulevate vasteid arvu.
- KĂ€sku «ls-files» on lisatud valik «âformat», et seadistada vĂ€ljundipĂ”lde (nĂ€iteks saab lisada objekti nime, reĆŸiimid jne).
- KÀsus «git cat-file» on lisatud vÔimalus arvesse vÔtta autori seoseid e-posti aadressidega, mis on mÀÀratletud mailmap failis.
Allikas: opennet.ru
