PĂ€rast kolme kuu arendustööd on vĂ€lja antud Git 2.44, hajutatud lĂ€htekoodi haldamise sĂŒsteem. Git on ĂŒks populaarsemaid, usaldusvÀÀrsemaid ja kĂ”rge tootlikkusega versioonihaldussĂŒsteeme, mis pakub paindlikke vahendeid mittelineaarseks arenduseks, tuginedes harude ja sulandumise mehhanismidele. Ajaloo terviklikkuse ja tagasipööramise muutuste kestvuse tagamiseks kasutatakse igas commitis varasema ajaloo peidetud hashimist, samuti on vĂ”imalik eraldi siltide ja commit'ide digitaalsete allkirjade tĂ”endamine. Git'i kood on litsentseeritud GPLv2+ all.
Uue versiooni vÔrreldes eelmisega on vastu vÔetud 503 muudatust, mille on ette valmistanud 85 arendajat, kellest 34 osales arenduses esmakordselt. Peamised uuendused:
- Uus kĂ€sk «git replay», mida saab kasutada alternatiivina «git rebaseâile» ja millega saab ajaloo taastamiseks kasutada serveris ilma tööpuueta (bare-repositoorium, mis ei sisalda tööpuud), korraga mitme haru töötlemiseks, rebase operatsiooni tegemiseks harudele, mis ei ole hetkel vĂ€lja haaratud, vĂ”i lihtsalt sulandumise operatsioonide kiirendamiseks.
- Lisatud tugi GitLab CI pideva integreerimise sĂŒsteemile.
- KĂ€skudes «git add» ja «git stash» on lisatud tee atribuutide tugi «:(attr:âŠ)», mis mÀÀratakse sarnaselt kĂ€sule «git show». NĂ€iteks «git add â:(attr:~binary)'» saab kasutada kĂ”igi tekstifailide (mittebinaarsete) indeksisse lisamiseks. Uues vĂ€ljaandes on samuti ette pandud atribuut «builtin_objectmode» failiteede filtreerimiseks Ă”iguste pĂ”hjal. NĂ€iteks «git add â:(attr:builtin_objectmode=100755)'» saab kasutada kĂ”ikide kĂ€ivitatavate failide lisamiseks.
- Lisatud on tugi objektide korduvkasutamiseks, mis on jaotatud mitme pack-faili vahel, mille kohta on olemas multi-pack-index, mis sisaldab teavet objektide kĂ€ttesaadavuse kohta (optimeerimine, mis vĂ”imaldab suunata juba olemasolevate andmete kasutamisele pack-failides, selle asemel et edastada tegelikke andmeid). Alates versioonist 2.44 suudab git nĂŒĂŒd töödelda objektide korduvkasutust mitme pack-faili peal, ilma et oleks vaja repot ĂŒhte pack-faili ĂŒmber pakkida. Uue funktsiooni aktiveerimiseks tuleb kĂ€ivitada kĂ€sud: git config âglobal pack.allowPackReuse multi git multi-pack-index write âbitmap
mille jÀrel pakifailide arv, millest objekte korduvkasutatakse, on jÀlgitav vÀÀrtuses "pack-reused ⊠(from N)", mis kuvatakse "git push" kÀivitamisel.
- KĂ€sku "git rebase âautosquash" saab nĂŒĂŒd kasutada mitteinteraktiivsete rebase'ide jaoks, mis vĂ”imaldab rebase'ida ja kiiresti rakendada fixup-kohandamisi, ilma et oleks vaja muutmisloendit ĂŒle vaadata ja muutmata GIT_SEQUENCE_EDITOR keskkonnamuutujat.
- KĂ€sule "git merge-file" lisati valik "âdiff-algorithm", et valida alternatiivne algoritm failide erinevuste hindamiseks.
- KĂ€sk "git checkout -B []" keelab harude vĂ€rskendamise ja allalaadimise, mis kasutab teistsugust tööpuud. Varasema kĂ€itumise taastamiseks lisati valik "âignore-other-worktrees".
- Lisatud on vĂ”imalus mÀÀrata seade "git config advice.pushAlreadyExists" vÀÀrtuseks "true", mis eemaldab vĂ€ljundeis nĂ€idatud vihjete (hint) tööriistade keelamise juhise ("Disable this message withâŠ"), mis vĂ”tab ekraanilt ruumi.
- KĂ€sku "git for-each-ref" on optimeeritud koos valikuga "âno-sort", mis toob nĂŒĂŒd vĂ€lja mÀÀramatult jĂ€rjestuses (varem rakendati ikkagi tĂ€hestikku sortimist, isegi kui "âno-sort" oli mÀÀratud). PĂ€rast optimeerimiste tegemist kiirendab "âno-sort" rakendamine "git for-each-ref" umbes 20% ulatuses suurte viidete arvuga repodes.
- Krediitide haldamise backend'ile wincred on lisatud tugi OAuth'i tokenite vÀrskendamiseks, sarnaselt sellele, kuidas see on rakendatud credential-cache ja credential-libsecret backend'ides.
- "git fetch"-ile on lisatud tugi konfiguratsiooniparametrile "fetch.all", mis töödeldakse sarnaselt kĂ€surea valiku "âall" lisamisega.
Allikas: opennet.ru
