jaotatud tekstihalduse sĂŒsteemi vĂ€ljaanne . 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. :
- 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 ĂŒ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/outKÀ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 ««, 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 ««.
- 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 .
- «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
