Jaotatud allikakoodide haldamise sĂŒsteemi Git 2.24 vĂ€ljaanne

Saadaval jaotatud tekstihalduse sĂŒsteemi vĂ€ljaanne Git 2.24.0. 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.

VÔrreldes eelmise vÀljaandega on uues versioonis 544 muudatust, mille on ette valmistanud 78 arendajat, kellest 21 osaleb arenduses esmakordselt. Peamised uuendused:

  • Lisatud on konfiguratsioonimakrode tugi, mille kaudu saab kiiresti vahetada erinevate seadistuste kogude vahel, ilma et peaksite sĂŒvenema seotud valikutesse. Makrode abil ei ole vajalik meelde jĂ€tta, milliseid seadistusi tuleb muuta, et aktiveerida teatud funktsionaalsus. NĂ€iteks, kui suure repo töötlemine aeglustub, vĂ”ib osutuda vajalikuks minna ĂŒle uuele indekseerimismehhanismile, lubada teede eelseadmete kokkusurumine ja kasutada jĂ€lgimata failide vahemĂ€lu, seades parameetri index.version vÀÀrtuseks 4 ja aktiveerides core.untrackedCache. Makrod vĂ”imaldavad sÀÀsta aega vajaliku lahenduse leidmiseks dokumentatsioonist, aktiveerides kohe seadistused optimeeritud suurte failide kogude jaoks:

    git config feature.manyFiles true

  • Vaikimisi on aktiveeritud objektide salvestamine commit-graafiku kujul, kus indekseerimiseks kasutatakse mitte lineaarset objekti hashide loendit, vaid graafi struktuuri. Kui varem nĂ”udis kindlate paranduste sisaldavate vĂ€ljaannete mÀÀramine iga objekti laadimist kettalt, et leida lingid, siis graafi salvestamise korral saab kohe mÀÀrata kĂ”ik vajalikud sidemed. Graafi salvestamise meetodite ĂŒleminek Linuxi ja Giti tuumareposse on vĂ”imaldanud saavutada peaaegu kahekordse jĂ”udluse suurenemise harudega toimingutes. Uue salvestusmeetodi aktiveerimiseks pĂ€rast uuendamist Git 2.24 ont, tuleb kĂ€ivitada kĂ€sk «git gc».

    Commit-graphiga seotud muudatustest on samuti tĂ€heldatud operatsiooni edenemise nĂ€idiku ĂŒhtlustamist teiste kĂ€skudega, mis on seotud commit-graphiga (nt «git commit-graph write», «git commit-graph verify» jne). Edenemise nĂ€idik kuvatakse nĂŒĂŒd vaikimisi ainult terminalis (kĂ€itumise muutmiseks tuleks kasutada suvandit «-[no-]progress»). Samuti on lisatud uus konfigureerimisparameeter fetch.writeCommitGraph, mis aktiveerib commit-graphi faili automaatse vĂ€rskendamise «git fetch» operatsioonide kĂ€igus (kĂ”ik vĂ€lisest hoidlatest saadud commit'id lisatakse kohe commit-graphi ilma eraldi auto-gc kĂ€ivitamiseta);

  • Lisatud on ajaloos muutuste ĂŒmberkirjutamise kĂ€sk — «git filter-repo«, mis on lihtsama alternatiivina kĂ€skudele «git filter-branch» muudatuste tegemiseks repositooriumi ajaloos (nt faili eemaldamine repositooriumist vĂ”i teatud katalooge ajaloos vaatamine). Efektiivsuse suurendamiseks teostatakse «git filter-repo» operatsioonid ajaloo voogesituse kujul, mitte jĂ€rjekorras commit'ite pĂ”hjalt.

    Ajaloo filtreerimine toimub suvandi «-path-{glob,regex}» abil, mis vĂ”imaldab kasutada nii lihtsaid mustreid kui ka regulaaravaldisi. Samuti on saadaval suvandid «otsing ja asendamine» vĂ”i binaarobjektide puhastamiseks, mille suurus ĂŒletab antud. Iga ĂŒmberkirjutatud commit varustatakse uue SHA-1 hĂ€kkariga ja vastavalt uuele identifikaatorile uuendatakse kĂ”ik viidatud ĂŒmberkirjutatud commit'ile.

    Repositooriumi statistika kokkuvĂ”tte kuvamiseks (objektide arv tĂŒĂŒpide kaupa, suurimad failid ja kataloogid, millised laiendused vĂ”tavad rohkem ruumi kettal jne) on olemas suvand «-analyze». Funktsionaalsuse laiendamiseks on vĂ”imalik lisada arbitraarseid tagasiside töötlejaid Pythonis, mille kaudu saab nii uusi alamkĂ€sklusi luua kui ka erinevaid sĂŒndmusi (nt uued faili tĂŒĂŒbid) töödelda.

  • Lisatud on valik „—end-of-options”, mis vĂ”imaldab eraldada valikud linkide nimedest, mis vĂ”ivad alata sĂŒmboliga „-” ja kĂ€sitletakse kui valikuid („git log —end-of-options —super-dangerous-option”). Kui selliseid nimesid saab tavaelus kaitsta nagu „git log ‘refs/heads/—super-dangerous-option'”, siis skriptides vĂ”ivad esineda probleemid nime ruumi mÀÀratlemisel. Üldiselt kasutatav eraldaja „—” ei sobi antud juhul, kuna seda kasutatakse juba linkide nimede ja failide eraldamiseks (nĂ€iteks „git log —end-of-options —super-dangerous-option ^master — path/to/file”);
  • KĂ€skluses „git rebase —rebase-merges” on lisatud valikud „—strategy” ja „—strategy-option” kokkuvĂ”tete valimiseks. sulandumisstrateegia;
  • Lisatud on uus kĂ€itleja „.git/hooks/pre-merge-commit”, mis kutsutakse ĂŒles pĂ€rast sulandamist, kuid enne lĂ”pliku commit'i salvestamist;
  • KĂ€skude automaatse tĂ€iustamise mootorisse on lisatud tugi konfigureerimismuutujate tĂ€iendamiseks, sĂ”ltuvalt konkreetsete kĂ€skude seadetest.
    NĂ€iteks kui on vaja kirjutada „git -c core.autocrlf=false add path/to/my/file”, kuid ei mĂ€leta tĂ€pset muutujanime „core.autocrlf”, vĂ”ib Tab'i vajutada ja saada vihje.

Lisaks on Git'i arendajad lisanud projekti osalejate kĂ€itumiskoodeks, mis mÀÀratleb peamised pĂ”himĂ”tted konfliktsete olukordade lahendamiseks. Dokument pĂ”hineb „Contributor Covenant“, mis on rakendatud paljudes avatud projektides, sealhulgas Linuxi tuumas, Eclipse'is, Freedesktop'is, GitLab'is, Ruby's ja Kubernetes'es. Dokument mÀÀratleb vĂ”rdse vĂ”imaluse kĂ”igile osalejatele, olenemata nende maailmavaatest, vanusest, soost, uskumustest, haridustasemest, sotsiaalsest staatusest ja rahvusest. Kogukonnas teretatakse sĂ”bralikku suhtlemisviisi, teiste probleemide mĂ”istmist ja kaastunnet, konstruktiivse kriitika omaksvĂ”ttu ning parimate lahenduste leidmist kogu kogukonna jaoks. Ei lubata trollimist, solvavat suhtlemisviisi, alandamist, ahistamist, privaatsuse rikkumist, isikuandmete avalikustamist ning muid tegevusi, mis vĂ”ivad olla professionaalses suhtlemises ebasobivad.

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster