Git versiooni 2.54 vÀljaanne

Esitatud jaoturite sĂŒsteemi Git 2.54 vĂ€ljaanne. Git eristub kĂ”rge jĂ”udlusega ja pakub mittelineaarset arendust, mis pĂ”hineb harude ja harude ĂŒhendamise vahenditel. Ajaloo terviklikkuse ja tagantjĂ€rele tehtud muudatuste vastupidavuse tagamiseks kasutatakse iga commit'i juures kogu ajaloo varjatut kiishash'i ja arendajate allkirjadega kinnitusi eraldi siltide ja commit'ide jaoks. Git'i kood on litsentseeritud GPLv2+ alla.

Uues versioonis on vÔrreldes eelneva vÀljaandega 770 muudatust, mille on valmistanud 137 arendajat (66 neist osaleb Git'i arenduses esmakordselt). Peamised uuendused:

  • Rakendatud on kĂ€sk „git history“, mis pakub eksperimenteerimisvĂ”imalusi muudatuste ajaloo ĂŒmberkirjutamiseks, mis on kasutamisel lihtsamad ja turvalisemad kui commit'ide rebasing'i kĂ€sk „git rebase“. Pakutakse kahte toimingut:
    • „git history reword ” antud commit'i sĂ”numi ĂŒmberkirjutamiseks ilma töökausta ja indeksi muutmiseta (kĂ”ik, vĂ€lja arvatud mĂ€rkused, jÀÀb muutmata). NĂ€iteks trĂŒkivea parandamiseks.
    • „git history split ” antud commit'i interaktiivseks jagamiseks kahte erinevasse commit'i, kus valitud osad kantakse algsest commit'ist tĂ€iendavasse commit'i.

    Tulevastes vĂ€ljaannetes oodatakse tĂ€iendavate kĂ€skude lisamist: „git history fixup” commit'i parandamiseks, „git history drop” commit'i kustutamiseks, „git history reorder” commit'ide jĂ€rjekorra muutmiseks ja „git history squash” commit'ide ĂŒhendamiseks.

  • Uus meetodide rakendamine töötlejatest (hook) konfigureerimisfailides on ellu viidud. Selle asemel et paigutada töötlejaskripte kausta „.git/hooks“ igas hoidlas, saab nĂŒĂŒd töötlejate kutsumise kĂ€sud mÀÀrata otse konfigureerimisfailidesse. Seadeid saab siduda kas hoidla vĂ”i mÀÀrata konfigureerimisfailides, mis kehtivad kĂ”igi hoidlate jaoks (/etc/gitconfig) vĂ”i kasutaja hoidlate jaoks (~/.gitconfig). VĂ”imalik on siduda mitu töötlejat ĂŒhele sĂŒndmusele. Skriptid kaustast „.git/hooks“ kutsuvad endiselt toiminguid, kuid need kĂ€ivitatakse pĂ€rast konfigureerimisfailide töötlejaid. Töötlejate nimekirja vaatamiseks tuleb kasutada kĂ€sku „git hook list“, ja valikulise töötlejate kutsumise keelamiseks seadistust „hook..enabled = false“. [hook „linter“] event = pre-commit command = ~/.bin/linter —cpp20 [hook „no-leaks“] event = pre-commit command = ~/.bin/leak-detector $ git hook list pre-commit global linter ~/.bin/linter —cpp20 local no-leaks ~/.bin/leak-detector
  • KĂ€skluses „git maintenance” on vaikimisi rakendatud strateegia „geometric” („git config set maintenance.strategy geometric”), mis vĂ€hendab suurte monorepositorite hooldusaega. Uus strateegia, vĂ”rreldes varasema, mis kasutas kĂ€sku „git gc”, vĂ€ldib kĂ”igi objektide uuesti pakkimist ja vĂ€listab liialt ressursikalleid toiminguid, nagu kĂ”igi pakifailide ĂŒhendamine (kui vĂ”imalik, toimub ĂŒhendamine osade kaupa ja ilma kustutamata kustutatud objekte).
  • Objektide andmebaas (ODB) ja seotud API-d on ĂŒmber korraldatud uuele arhitektuurile, mis pĂ”hineb pluginaarsetel tagamitel. Tehtud ĂŒmberkorraldust toetab objekti salvestamise formaadi abstraktsiooni ja tulevikus vĂ”imaldab rakendada selliseid funktsioone nagu alternatiivsed tagandid ja objektiformaadid, nĂ€iteks suuremate binaarfailide tĂ”husamaks salvestamiseks vĂ”i suurte git-haldamiste optimeerimiseks.
  • Git repo struktuuri kĂ€su abil, mis toob vĂ€lja repositooriumi struktuuri, on tagatud mitte ainult ĂŒldise suuruse kuvamine, vaid ka iga tĂŒĂŒbi suurimate objektide nĂ€itamine, mis vĂ”imaldab suuruse hindamisel ilma kolmanda osapoole utiliidita git-sizer. $ git repo structure 
 | * Suurimad objektid | | | * Kommid | | | * Maksimaalne suurus [1] | 17.23 KiB | | * Maksimaalsed vanemad [2] | 10 | | * Puud | | | * Maksimaalne suurus [3] | 58.85 KiB | | * Maksimaalsed sissekanded [4] | 1.18 k | | * Blobbid | | | * Maksimaalne suurus [5] | 1019.51 KiB | | * Sildid | | | * Maksimaalne suurus [6] | 7.13 KiB |
  • Git replay kĂ€su abil, mida kasutatakse git rebase asemel ajaloo taastamiseks serveris , ilma tööpuudeta, on vaikimisi lisatud atomaarne viidete uuendamine (selle asemel et kuvada kĂ€su update-ref loend kĂ€sitsi tĂ€itmiseks), on sisse viidud vĂ”imalus "—revert" muudatuste tĂŒhistamiseks mitme kommi seeriast, on tagatud tĂŒhjade tulemiskommide eemaldamine ja on vĂ”imalik taastada ajalugu kuni juurkommile.
  • Git rev-list ja sarnastes kĂ€skudes on lisatud vĂ”imalus "—maximal-only" ainult kommitte kuvamiseks, mis ei ole teiste kommitite kaudu kergesti kĂ€tte saadavad.
  • Git repo info kĂ€sule on lisatud vĂ”imalus "—keys" kĂ”igi tuntud vĂ”tmete loendi kuvamiseks.
  • Git add -p kĂ€sus on koodi plokkide vahel navigeerimise ajal klahvide "J" ja "K" abil tagatud juba heaks kiidetud ja vahele jĂ€etud plokkide mĂ€rgistamine. On lisatud vĂ”imalus "—no-auto-advance" automaatse ĂŒlemineku keelamiseks jĂ€rgmisele failile, et enne kommitimist eelnevaid faile uuesti vaadata.
  • Gitwebi veebiliidese optimeerimine on lĂ€bi viidud mobiilsete seadmete jaoks.
  • Git apply —directory kĂ€sus on failide teed, nagu "./un/../normalized/path", enne kasutamist normaliseeritud.
  • On dokumenteeritud vĂ”imalus lisada oma allkommandod, paigaldades failid "git-<cmd>" kĂ€ivitatavate failide katalooge.
  • Git send-email kĂ€sule on lisatud kliendisertifikaatide tugi.
  • Git status kĂ€sule on sisse viidud seadistus "status.compareBranches", mille kaudu saab mÀÀrata harud, mille suhtes praegust haru vĂ”rreldakse. [status] compareBranches = @{upstream} @{push}
  • Git rebase kĂ€sule on lisatud vĂ”imalus "—trailer" meetaandmete lisamise lihtsustamiseks kĂ”ikidele kommittele. git rebase —trailer "Reviewed-by: Test <test@example.com>"
  • Git fast-import kĂ€skkonda on lisatud vĂ”imalus muuta allkirju, mis on pĂ€rast importimist kehtetuks muutunud.
  • Lisatud on tugi mitme paketi indeksite MIDX (multi-pack index) kompaktsimiseks, kus vĂ€iksed MIDX-indeksi kihid, mis sisaldavad objektide kĂ€ttesaadavuse teavet ja nendega seotud bitmap-faile, ĂŒhinevad omavahel, mis vĂ€hendab vanadesse hoidlate kuhjunud kihtide arvu.
  • Git backfill kĂ€sku on rakendatud vĂ”imalus mÀÀrata revisjone (commit vahemikud) ja teepikkuse maskid (pathspec), et piirata laaditavaid muudatuste ajalugu osi. git backfill main~100..main git backfill — '*.c'
  • Lisatud on alternatiivsed vormid git config list kĂ€su kutsumiseks — git config -l ja git config —list.
  • Lubatud on kasutada mitte-ASCII mĂ€rke kĂ€skude aliaste nimedes, mis on mÀÀratud konfiguratsioonifailis. [alias 'fetch'] command = fetch
  • Muudetud on allkirjade kuvamist, mille GPG-vĂ”tme kehtivusaeg on lĂ”ppenud, kuid mis olid kommi allkirjastamise ajal kehtivad. Taolised allkirjad kuvatakse nĂŒĂŒd Ă”igena koos vĂ”tme aegumise mĂ€rgiga (varem kuvati neid punasega, mis jĂ€ttis mulje, et need ei ole kehtivad).
  • HTTP kaudu hoidlate juurde pÀÀsemisel on tagatud 429 (Liialt palju pĂ€ringuid) veakoodi kĂ€sitlemine. Taolisi vigu kĂ€sitletakse nĂŒĂŒd mitte kui fataalset probleemi, vaid ajutise veana, mille puhul tuleks tegevus mĂ”ne aja pĂ€rast uuesti kordata. Uuesti proovimise viivitus mÀÀratakse 'http.retryAfter' valiku kaudu, korduste arv - 'http.maxRetries', ootamisaeg - 'http.maxRetryTime'.

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