Jaotatud versioonihalduse sĂŒsteemi Git 2.25 vĂ€ljaanne

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

Uue versiooni on tehtud 583 muudatust, milles osales 84 arendajat, kellest 32 osalesid esmakordselt arenduses. Peamised uuendused:

  • Osalise kloonimise (partial clones) funktsionaalsus lĂ€heneb stabiliseerumisele ja tĂ€ielikule valmisolekule, vĂ”imaldades edastada ainult osa andmetest ja töötada mittetĂ€ieliku koopia kĂ€siraamatust. Tavalise kloonimise korral kopeeritakse kĂ”ik andmed, sealhulgas iga faili iga versioon muutuste ajaloost. VĂ€ga suurte kĂ€siraamatute puhul toob andmete kopeerimine kaasa olulise liikluse ja kettaruumi suurenemise, isegi kui arendajat huvitab vaid failide alamkogum. Uues versioonis on vĂ€lja pakutud eksperimentaalne kĂ€sk «sparse-checkout» ja uus valik «—sparse» kĂ€sule «clone», et lihtsustada ainult osa töökataloogide allalaadimist.

    Varem tehti valikuline kloonimine, mÀÀrates filtrid ĂŒlejÀÀnud sisu filtreerimiseks ja valiku «—no-checkout» abil, et keelata puuduvate failide taastamine. SeejĂ€rel, enne checkout'i toimingu tegemist, tuli lubada seade core.sparseCheckout ja mÀÀrata failis .git/info/sparse-checkout mustrite loend, mida ei tohiks kaasata. NĂ€iteks, et kloonida ilma blobideta ja keelata failide vĂ€lja tĂ”mbamine sĂŒgavamates kataloogides, mis on sĂŒgavuses 2 ja rohkem, vĂ”is teha jĂ€rgmist:

    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 protsessi oluliselt ja viib töö korraldamise mittetÀieliku kÀsiraamatuga 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 mÀÀrata failide teede loendi checkout'i (set) ilma .git/info/sparse-checkout kÀsitsi seadistamiseta, samuti kuvada praeguse teede loendi (list) ja lubada vÔi keelata osalised checkout'id (enable/disable).

    VĂ€ga suurte kĂ€siraamatute ja mustrite loendite hĂ”lbustamiseks on vĂ€lja pakutud seade «git config core.sparseCheckoutCone«, piiravad lubatud malle (edasise genereerimise asemel .gitignore malli saab mÀÀrata, kas kĂ”ik teed ja failid antud alamkaustas tuleks vĂ€lja tĂ”mmata). NĂ€iteks kui suures reposis on kataloog «A/B/C» ja kogu töö on keskendunud alamkaustas «C», siis kui aktiveerida sparseCheckoutCone reĆŸiim, kĂ€sk «git sparse-checkout set A/B/C» tĂ”mbab sisu «C» tĂ€ielikult, kuid «A» ja «B» tĂ”mbab ainult vajalikud osad, et töötada «C»-ga.

  • Dokumentatsioonist («git rebase -h») on eemaldatud kĂ”ik viidatud valikule «—preserve-merges», mis on kuulutatud vananenuks ja selle asemel tuleks kommitte kogumi edasiviimiseks kasutada «git rebase —rebase-merges«.
  • Jes cross-reference it, et tĂ”staks patechtide sĂ”numite loetavust, mis saadetakse postitusloenditesse, on lisatud valik «git format-patch —cover-from-description subject», mille mÀÀramisel kasutatakse patachide kogumi saatekirja teemana hargneva teksti esimest lĂ”iku.
  • On rakendatud toetust kĂ€skude «git apply —3way» ja sĂ€tete «merge.conflictStyle» ĂŒhiskasutamiseks (nĂŒĂŒd arvestab «git apply» konflikti kirjeldusstiilide andmeid, kui konflikt tekib pĂ€rast patchi rakendamist repole).
  • Funktsioonide mÀÀratlemise koode, mida kasutatakse sellistes toimingutes nagu «git diff/grep —show-function/—function-context», on laiendatud vĂ”imalusega mÀÀrata funktsiooni piire jagamine programmides keeles Elixir.
  • «git add», «git commit», «git reset» ja muud kĂ€skude on lisatud uus valik «—pathspec-from-file», mis vĂ”imaldab laadida teede nimekirja failist vĂ”i sisendvoost, selle asemel, et loetleda neid kĂ€sureas.
  • Probleemide lahendamine kaustade tasemel ĂŒmbernimetamise mÀÀramisel committide kirjutamisel. MÀÀramine ei toiminud siis, kui alamkausta sisu liigutati repositooriumi juurde.
  • Pakutud on algne teostus ĂŒmber kujundatud kĂ€su «git add -i», mis vĂ”imaldab lisada muudetud sisu interaktiivses reĆŸiimis, ĂŒmber kirjutatud Perl’ist C-sse. Samuti kĂ€ib sarnane ĂŒmbertegemine kĂ€su «git add -p» ĂŒle.
  • KĂ€sku «git log —graph», mis genereerib ASCII-pildi repositooriumi muudatuste ajaloost, on ĂŒmber struktureeritud. Ümbertöötamine on olulisel mÀÀral parandanud ja lihtsustanud vĂ€ljundit, ilma ajaloo struktuuri moonutamata, mis nĂ€iteks lahendas probleemi, et joonis ulatus vĂ€ljapoole terminali rea laiust.
  • Valik «git log —format=..», mis vĂ”imaldab muuta vĂ€ljundi formaati,
    on laiendatud lippude «l/L» toega, et kuvada ainult osa e-posti aadressist, mis on enne mÀrk «@» (nÀiteks kasulik, kui kÔik arendajad kasutavad sama domeeni).
  • KĂ€sku «git submodule» on lisatud alamkĂ€sk «set-url».
  • Testkomplektid on uuendatud seoses ĂŒleminekuga
    SHA-2 rÀsimisalgoritmile SHA-1 asemel.

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