Git 2.38 šaltinio valdymo leidimas

Pristatomas paskirstytų šaltinių valdymo sistemos Git 2.38 leidimas. „Git“ yra viena populiariausių, patikimiausių ir našiausių versijų valdymo sistemų, teikiančių lanksčius nelinijinius kūrimo įrankius, pagrįstus šakų išsišakojimu ir sujungimu. Siekiant užtikrinti istorijos vientisumą ir atsparumą retroaktyviems pokyčiams, kiekviename įsipareigojime naudojamas numanomas visos ankstesnės istorijos maišymas, taip pat galima patikrinti atskiras žymas ir įsipareigojimus skaitmeniniais kūrėjų parašais.

Palyginti su ankstesne versija, į naująją versiją, parengtą dalyvaujant 699 kūrėjams, buvo priimti 92 pakeitimai, iš kurių 24 kūrime dalyvavo pirmą kartą. Pagrindinės naujovės:

  • Pagrindinė struktūra apima „Microsoft“ sukurtą skaliarinę programą, skirtą didelėms saugykloms valdyti. Iš pradžių programa buvo parašyta C#, tačiau modifikuota C versija yra įtraukta į git. Naujoji programa skiriasi nuo komandos git tuo, kad pagal numatytuosius nustatymus apima papildomas funkcijas ir parametrus, kurie turi įtakos našumui dirbant su labai didelėmis saugyklomis. Pavyzdžiui, naudojant skaliarą, tai taikoma:
    • Dalinis klonavimas norint dirbti su nepilna saugyklos kopija.
    • Integruotas failų sistemos pakeitimų stebėjimo mechanizmas (FSMonitor), leidžiantis apsieiti be viso darbo katalogo surašymo.
    • Indeksai, apimantys objektus skirtinguose paketų failuose (keliuose paketuose).
    • commit-graph failus su įvykdymo grafiko indeksu, naudojamu optimizuoti prieigą prie įpareigojimo informacijos.
    • Fono periodinis darbas, siekiant išlaikyti optimalią saugyklos struktūrą fone, neblokuojant interaktyvaus seanso (kartą per valandą atliekamas darbas siekiant iš anksto gauti naujus objektus iš nuotolinės saugyklos ir atnaujinti failą su įpareigojimo grafiku, taip pat pakavimo procesas saugykla paleidžiama kiekvieną naktį).
    • „sparseCheckoutCone“ režimas, kuris apriboja leidžiamus šablonus dalinio klonavimo metu.
  • Prie komandos „git rebase“ pridėta parinktis „--update-refs“, kad būtų atnaujintos priklausomos šakos, kurios susikerta su perkeltomis šakomis, o ne rankiniu būdu tikrinti kiekvieną priklausomą šaką, kad perjungtumėte į reikiamą įpareigojimą.
  • Komanda „git rm“ suderinama su daliniais indeksais.
  • Patobulinta komandos „git mv AB“ veikimas, kai failas perkeliamas iš darbo srities su daliniais indeksais „kūgio“ režimu į išorinę sritį, kuriai šis režimas netaikomas.
  • Bitmap failų formatas buvo optimizuotas darbui su didelėmis saugyklomis – buvo pridėta pasirenkama rodyklės lentelė su pasirinktų įsipareigojimų ir jų poslinkių sąrašu.
  • Komanda „git merge-tree“ įgyvendina naują režimą, kuriame, remiantis dviem nurodytais įsipareigojimais, apskaičiuojamas medis su sujungimo rezultatu, tarsi šių įsipareigojimų istorijos būtų sujungtos.
  • Pridėtas „safe.barerepository“ nustatymas, skirtas valdyti, ar tuščios saugyklos (saugyklos, kuriose nėra veikiančio medžio) gali būti dedamos į kitas „git“ saugyklas. Kai nustatyta kaip „aiškus“, bus leista veikti tik viršutiniame kataloge esančioms saugykloms. Kad būtų galima įdėti tuščias saugyklas į pakatalogius, reikia naudoti reikšmę "visi".
  • Parinktis „-m“ („--max-count“) buvo pridėta prie komandos „git grep“, kuri yra panaši į to paties pavadinimo GNU grep parinktį ir leidžia apriboti rodomų atitikčių skaičių.
  • Komanda „ls-files“ įgyvendina parinktį „--format“, kad būtų galima tinkinti išvesties laukus (pavyzdžiui, galite įjungti objekto pavadinimo, režimų ir kt. išvestį).
  • „git cat-file“, rodant objektų turinį, yra įdiegta galimybė atsižvelgti į pašto žemėlapio faile nurodytą autorių susiejimą su el.

Šaltinis: opennet.ru

Добавить комментарий