Git 2.38 allikajuhtimise väljalase

Teatati hajutatud allika juhtimissüsteemi Git 2.38 väljalaskmisest. Git on üks populaarsemaid, usaldusväärsemaid ja suure jõudlusega versioonikontrollisüsteeme, mis pakub paindlikke mittelineaarseid arendustööriistu, mis põhinevad hargnemisel ja ühendamisel. Tagamaks ajaloo terviklikkust ja vastupanuvõimet tagasiulatuvatele muudatustele, kasutatakse iga commit puhul kogu eelneva ajaloo kaudset räsimist, samuti on võimalik üksikuid silte ja kohustusi sertifitseerida arendajate digiallkirjadega.

Võrreldes eelmise versiooniga, sisaldas uus versioon 699 muudatust, mis valmistati ette 92 arendaja osalusel, millest 24 osalesid arenduses esmakordselt. Peamised uuendused:

  • Põhistruktuur sisaldab "skalaarset" utiliiti, mille Microsoft on välja töötanud suurte hoidlate haldamiseks. Utiliit kirjutati algselt C#-s, kuid git sisaldab muudetud versiooni C-s. Uus utiliit erineb käsust git, lubades vaikimisi lisafunktsioone ja sätteid, mis mõjutavad jõudlust väga suurte hoidlatega töötamisel. Näiteks skalaari kasutamisel kehtib see:
    • Osaline kloonimine, et töötada koos hoidla mittetäieliku koopiaga.
    • Sisseehitatud mehhanism failisüsteemi muudatuste jälgimiseks (FSMonitor), mis võimaldab teil teha ilma kogu töökataloogi otsimiseta.
    • Indeksid, mis hõlmavad objekte erinevates pakkfailides (mitmepakk).
    • commit-graph failid koos graafikuindeksiga, mida kasutatakse sisestamise teabele juurdepääsu optimeerimiseks.
    • Perioodiline taustatöö hoidla optimaalse struktuuri säilitamiseks taustal, ilma interaktiivset seanssi blokeerimata (töö tehakse kord tunnis, et ennetavalt kaughoidlast värskeid objekte alla laadida ja faili commit graafikuga värskendada ning pakkimisprotsess hoidla käivitatakse igal õhtul).
    • "sparseCheckoutCone" režiim, mis piirab lubatud mustreid osalise kloonimise ajal.
  • Käsule "git rebase" lisati suvand --update-refs, et värskendada sõltuvaid harusid, mis kattuvad teisaldatavate harudega, selle asemel, et vajalikule kinnistamisele lülitumiseks iga sõltuvat haru käsitsi kontrollida.
  • Muutis käsu "git rm" ühilduvaks osaliste indeksitega.
  • Täiustatud on käsu "git mv AB" käitumine faili teisaldamisel osaliste indeksidega tööruumist "koonuse" režiimis välisesse ulatusse, millel seda režiimi pole.
  • Bitmap failivorming on optimeeritud tööks suurte hoidlatega – lisatud on valikuline indeksitabel, kus on nimekiri valitud sisseviimistest ja nende nihketest.
  • Käsk “git merge-tree” rakendab uut režiimi, milles kahe määratud commitingu põhjal arvutatakse puu koos liitmise tulemusega, nagu oleks nende komitatsioonide ajalood liidetud.
  • Lisatud säte "safe.barerepository", et juhtida võimalust majutada tühihoidlaid (hoidlad, mis ei sisalda töötavat puud) teistes git-hoidlates. Kui see on seatud "Explicit", on võimalik töötada tühjade hoidlatega, mis asuvad ainult ülemises kataloogis. Alamkataloogidesse tühjade hoidlate paigutamiseks kasutage väärtust "kõik".
  • Käsk "git grep" on lisanud valiku "-m" ("—max-count"), mis sarnaneb GNU grepi samanimelise valikuga ja võimaldab teil kuvatavate vastete arvu piirata.
  • Käsk "ls-files" rakendab väljundväljade konfigureerimiseks suvandit "--format" (näiteks saate lubada objekti nime, režiimide jne väljundi).
  • “git cat-file”-s on objektide sisu kuvamisel võimalik arvestada meilikaardi failis määratud autori-e-posti seoseid.

Allikas: opennet.ru

Lisa kommentaar