VĂ€ljaanne hajutatud lĂ€htekoodi haldamise sĂŒsteemist Git 2.25

Saadaval jaotatud lĂ€htekoodi haldamise sĂŒsteemi vĂ€ljaanne Git 2.25.0. Git on ĂŒks populaarsemaid, usaldusvÀÀrsemaid ja kĂ”rge jĂ”udlusega versioonihalduse sĂŒsteeme, mis pakub paindlikke mittelineaarse arenduse vahendeid, mis pĂ”hinevad harude ja ĂŒhenduste haldamisel. Ajaloo terviklikkuse ja tagajĂ€rgede muutuste eest kaitsmiseks kasutatakse kogu eelneva ajaloo automaatset hashimist igas commit'is, vĂ”imaldades ka arendajatelt allkirjastatud digitaalset sammsisenemist ja commit'ide tagamisstrateegiaid.

Uue versiooniga on vÔrreldes eelmise vÀljaandega vastu vÔetud 583 muudatust, mille on teinud 84 arendajat, kellest 32 osalesid arenduses esmakordselt. Peamised uuendused:

  • Osaline kloonimine (partial clones) on jĂ”udmas stabiliseerimise ja tĂ€ieliku valmiduse faasi, vĂ”imaldades edastada ainult osa andmeid ja töötada mittetĂ€ieliku repositooriumi koopiaga. Tavalise kloonimise puhul kopeeritakse kogu andmestik, sealhulgas iga faili iga versioon muudatuste ajaloost. VĂ€ga suurte repositooriumite puhul toob andmete kopeerimine kaasa mĂ€rkimisvÀÀrse liikluse ja kettaruumide suurenemise, isegi kui arendajat huvitab vaid failide alamhulk. Uues vĂ€ljaandes on lihtsustatud selle osa saamist, pakkudes eksperimentealset kĂ€sku „sparse-checkout“ ja uut valikut „—sparse“ kĂ€sule „clone“.

    Varem viidi valikulise kloonimise protsess lĂ€bi sellele mÀÀratud filterite liigne sisu vĂ€ljaarvamiseks ja valiku „—no-checkout“ abil, et keelata puuduvate failide tĂ€iendamine. PĂ€rast seda tuli enne checkouti toimingu teostamist lubada seade core.sparseCheckout ja mÀÀrata failis .git/info/sparse-checkout vĂ€listavate teede mallide nimekiri. NĂ€iteks, et kloonida ilma blobideta ja keelata failide vĂ€ljavĂ”tmine sisemise kausta sĂŒgavusel 2 ja rohkem, vĂ”is teostada:

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

    Uus kĂ€sk „git sparse-checkout“ lihtsustab tööprotsessi ja vĂ€hendab mittetĂ€ieliku repositooriumiga töötamise protsessi kĂ€skudeks:

    git clone —filter=blob:none —sparse /your/repository/here repo
    git sparse-checkout set /path/to/check/out

    KÀsk sparse-checkout vÔimaldab seadmise (set) teede nimekirja checkouti jaoks ilma .git/info/sparse-checkouti kÀsitsi seadistamiseta, ning kuvada ka praeguse teede nimekirja (list) ja lubada vÔi keelata osalised checkoutid (enable/disable).

    VĂ€ga suurte repositooriumite ja malliliste nimekirjade optimeerimiseks on pakutud seadistust „git config core.sparseCheckoutCone“, mis piirab lubatud malli (asemel suvaliste mallide .gitignore, vĂ”ib mÀÀrata, kas kĂ”ik teed ja kĂ”ik failid antud alamkaustas tuleks vĂ€lja vĂ”tta). NĂ€iteks, kui suure repositooriumi sees on kaust „A/B/C“ ja kogu töö toimub alamkaustas „C“, siis kui sparseCheckoutCone reĆŸiim on aktiveeritud, kĂ€sk „git sparse-checkout set A/B/C“ toob vĂ€lja kogu „C“ sisu, kuid „A“ ja „B“ osas ainult „C“ töötamiseks vajalikke osi.

  • Dokumentatsioonist („git rebase -h“) on eemaldatud kĂ”ik viidatud „—preserve-merges“ valiku mĂ€rkmed, mis on deklareeritud aegunuks ja selle asemel tuleks komiteede kogumi teisaldamiseks kasutada „git rebase —rebase-merges«.
  • Patchete kirjeldavate sĂ”numite loetavuse parandamiseks, mis saadetakse meililistidesse, on lisatud valik „git format-patch —cover-from-description subject“, mille kasutamisel kasutatakse patĆĄikomplekti saatva kirja teema jaoks riiuli esimese lĂ”igu tekstist.
  • On realiseeritud kĂ€su „git apply —3way“ ja seadistuse „merge.conflictStyle“ ĂŒhisrakendamine (nĂŒĂŒd arvestab „git apply“ konfliktide kirjeldamise stiili merge.conflictStyle, vajadusel, konfliktilahendamisel pĂ€rast patĆĄifaili rakendamise katset).
  • Funktsioonide mÀÀratlemise koode, mida kasutatakse sellistes toimingutes nagu „git diff/grep —show-function/—function-context“, on laiendatud funktsioonide piiride mÀÀratlemise toega programmides Elixir.
  • KĂ€skudesse „git add”, „git commit”, „git reset” ja teised on lisatud uus valik „—pathspec-from-file“, mis vĂ”imaldab laadida teede nimekirja failist vĂ”i sissetulevast voost, selle asemel, et neid kĂ€sureal loetleda.
  • Avastatud probleemide lahendamine kataloogide tasemel ĂŒmbersuunamiste mÀÀramisel commitide kirjutamisel. MÀÀramine ei töödanud, kui alamkausta sisu viidi repositooriumi juure.
  • Pakutud on algne teostus ĂŒmberkujundatud kĂ€sust „git add -i“, mis vĂ”imaldab muuta sisu interaktiivses reĆŸiimis, ĂŒmber kirjutatud Perl'ist C keelde. Samal ajal toimub sarnane ĂŒmberkujundamine kĂ€su „git add -p“ jaoks.
  • KĂ€sku „git log —graph”, mis loob ASCII-graafi muutuste ajaloost repositooriumis, on ĂŒmber kujundatud. Ümberkujundus on lubanud olulisi tĂ€iustusi ja lihtsustamisi vĂ€ljundis, ilma ajaloo struktuuri moonutamata, lahendades nĂ€iteks probleemi, et pildid ulatusid terminali rea laiuse piiridest vĂ€lja.
  • Valik „git log —format=..”, mis vĂ”imaldab muuta vĂ€ljundi formaati,
    on laiendatud lipud „l/L” toetusega, mis annab ainult osa e-posti aadressist, antud enne „@” sĂŒmbolit (nĂ€iteks, kasulik, kui kĂ”ik arendajad on samas domeenis).
  • KĂ€sku „git submodule“ on lisatud alamsĂ”na „set-url“.
  • Testikomplektid on uuendatud ĂŒlemineku ettevalmistamiseks
    SHA-2 krĂŒpteerimisalgoritmile, mitte SHA-1-le.

Allikas: opennet.ru

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster