Paskirstytų šaltinių valdymo sistemos Git 2.25 išleidimas

Galima paskirstyto šaltinio valdymo sistemos išleidimas git 2.25.0. Git yra viena populiariausių, patikimiausių ir našiausių versijų valdymo sistemų, teikianti lanksčius nelinijinius kūrimo įrankius, pagrįstus šakojimu ir sujungimu. Siekiant užtikrinti istorijos vientisumą ir atsparumą retroaktyviems pokyčiams, kiekviename įsipareigojime naudojama netiesioginė visos ankstesnės istorijos maiša, taip pat galima sertifikuoti atskiras žymas ir įsipareigojimus skaitmeniniais kūrėjų parašais.

Palyginti su ankstesne versija, naujojoje versijoje buvo 583 pakeitimai, parengti dalyvaujant 84 kūrėjams, iš kurių 32 kūrime dalyvavo pirmą kartą. pagrindinis naujoves:

  • Dalinio klonavimo galimybė artėja prie stabilizavimosi ir visiškos parengties, leidžianti perkelti tik dalį duomenų ir dirbti su nepilna saugyklos kopija. Įprastas klonas nukopijuoja visus duomenis iš saugyklos, įskaitant kiekvieną kiekvieno failo versiją pakeitimų istorijoje. Labai didelėse saugyklose duomenų kopijavimas žymiai padidina srautą ir vietos diske, net jei kūrėją domina tik failų poaibis. Kad būtų lengviau gauti tik dalį veikiančio šaltinio medžio, naujajame leidime pristatoma eksperimentinė komanda „sparse-checkout“ ir nauja „--sparse“ parinktis komandai „clone“.

    Anksčiau selektyvus klonavimo procesas buvo atliekamas per užduotį filtrus filtruoti nereikalingą turinį ir parinktį „-no-checkout“, kad išjungtumėte trūkstamų failų užpildymą. Po to, prieš atliekant patikros operaciją, reikėjo įjungti core.sparseCheckout nustatymą ir .git/info/sparse-checkout faile apibrėžti neįtrauktų kelių šablonų sąrašą. Pavyzdžiui, norėdami klonuoti be dėmių ir neleisti išgauti failų iš 2 ar didesnio gylio pakatalogių, galite paleisti:

    git klonas --filter=blob:none --no-checkout /your/repository/here repo
    $ cd atpirkimas
    $ cat >.git/info/sparse-checkout
    /*
    !/*
    EOF
    $ git config core.sparseCheckout 1
    $ git kasa.

    Nauja komanda „git sparse-checkout“ labai supaprastina darbą ir sumažina darbo su neužbaigta saugykla organizavimo procesą iki šių komandų:

    git klonas --filter=blob:none --sparse /your/repository/here repo
    git sparse-checkout rinkinys /path/to/check/out

    Sparse-checkout komanda leidžia nustatyti atsiskaitymo kelių sąrašą (nustatyti) rankiniu būdu nekonfigūruojant .git/info/sparse-checkout, taip pat parodyti dabartinį kelių sąrašą (sąrašas) ir įjungti arba išjungti dalines patikras (įgalinti /išjungti).

    Norėdami optimizuoti darbą su labai didelėmis saugyklomis ir šablonų sąrašais, „git config core.sparseCheckoutCone", kuris riboja leidžiamus šablonus (vietoj savavališkų .gitignore šablonų galite nurodyti, ar reikia patikrinti visus kelius ir visus failus tam tikrame pakatalogyje). Pavyzdžiui, jei didelėje saugykloje yra katalogas „A/B/C“ ir visas darbas sutelktas pakatalogyje „C“, tada įjungus sparseCheckoutCone režimą, komanda „git sparse-checkout set A/B/ C“ išskirs visą „C“ turinį, tačiau iš „A“ ir „B“ išskirs tik tas dalis, reikalingas darbui su „C“.

  • Iš dokumentacijos („git rebase -h“) buvo pašalintos visos nuorodos į parinktį „--preserve-merges“, kuri buvo pasenusi ir turėtų būti naudojama perkeliant įsipareigojimų rinkinį.git rebase --rebase-merges"
  • Siekiant pagerinti laiškų su pataisomis, siunčiamų į adresų sąrašus, skaitomumą, buvo pridėta parinktis „git format-patch – cover-from-description subject“, kai nurodyta, pirmoji pastraipa iš šakos aprašymo teksto naudojama kaip temos tema. Motyvacinis laiškas pleistrų rinkiniui.
  • Įdiegtas palaikymas kartu naudojant komandą „git apply -3way“ ir parametrą „merge.conflictStyle“ („git apply“ dabar atsižvelgia į konflikto aprašymo stilių iš merge.conflictStyle, kai reikia išspręsti konfliktą po bandymo kad pritaikytumėte pataisos failą saugyklai).
  • Funkcijos apibrėžimo kodas, naudojamas tokiose operacijose kaip "git diff/grep --show-function/-function-context", buvo išplėstas, kad būtų galima nustatyti funkcijų ribas kalbos programose Elixir.
  • Į „git add“, „git commit“, „git reset“ ir kitas komandas buvo pridėta nauja parinktis – „-pathspec-from-file“, kuri leidžia įkelti kelių sąrašą iš failo arba įvesties srauto. , užuot įtraukę juos į komandų eilutę.
  • Išspręsta problema, susijusi su pervadinimų aptikimu katalogo lygiu rašant įsipareigojimus. Apibrėžimas neveikė, jei pakatalogio turinys buvo perkeltas į saugyklos šaknį.
  • Buvo pasiūlytas pradinis pertvarkytos komandos „git add -i“ įgyvendinimas, leidžiantis interaktyviai pridėti pakeistą turinį, perrašytą iš „Perl“ į C. Vykdomas panašus „git add -p“ komandos pertvarkymas.
  • Komanda „git log –graph“ buvo pertvarkyta, generuojant ASCII grafiko vaizdą su saugyklos pakeitimų istorija. Perdirbimas leido žymiai pagerinti ir supaprastinti išvestį neiškraipant istorijos struktūros, o tai, pavyzdžiui, išsprendė problemą, kai paveikslėlis tęsiasi už terminalo linijos pločio.
  • Parinktis „git log --format=..“ leidžia pakeisti išvesties formatą,
    išplėsta, palaikant vėliavėles „l/L“, kad būtų rodoma tik ta el. pašto adreso dalis, nurodyta prieš simbolį „@“ (pavyzdžiui, naudinga, kai visi kūrėjai turi visus el. laiškus tame pačiame domene).

  • Prie komandos „git submodule“ pridėta antrinė komanda „set-url“.
  • Bandymų rinkiniai buvo atnaujinti ruošiantis pereiti prie
    maišos algoritmas SHA-2 vietoj SHA-1.

Šaltinis: opennet.ru

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