VĂ€lja andmehaldus sĂŒsteem Git 2.22

Esitletud jaotatud lĂ€htekoodi haldamise sĂŒsteemi vĂ€ljaanne Git 2.22.0. Git on ĂŒks populaarsemaid, usaldusvÀÀrsemaid ja kĂ”rge tulemuslikkusega versioonihaldussĂŒsteeme, mis pakub paindlikke vĂ”imalusi mitte-lineaarseks arendamiseks, tuginedes harude ja harude ĂŒhendamise meetoditele. Ajaloo terviklikkuse ja tagasivaatavate muudatuste suhtes vastupidavuse tagamiseks kasutatakse varjatud hash-kontrollimist kogu varasema ajaloo kohta igas commit'is, samuti on vĂ”imalik kinnitada eraldi siltide ja commit'ide digitaalsete allkirjadega.

VÔrreldes eelmise vÀljaandega on uude versiooni integreeritud 745 muudatust, mille on ette valmistanud 74 arendajat, kellest 18 osaleb arenduses esmakordselt. Peamised uuendused:

  • Alates versioonist 1.18 on uus commit'ide komplekti teisendamise reĆŸiim «git rebase —rebase-merges» asendanud vana valiku «—preserve-merges», mis on nĂŒĂŒd mĂ€rgitud vananenuks. Operatsioon «git rebase» kasutatakse commit'ide seeriade asendamiseks uue baasi commit'iga, nĂ€iteks teatud haru, kus arendatakse uut funktsiooni, sĂŒnkroonimiseks praeguse master-haru seisuga, mis sisaldab pĂ€rast haru eraldamist tehtud parandusi:

    o — o — o (my-feature)

    /

    o — o — o — o — o (master)

    o — o — o (my-feature)

    /

    o — o — o — o — o (master)

    Kannete sĂ€ilitada harude struktuuri kĂ€tkese harus, varem sai kasutada valikut „—preserve-merges”, mis vĂ”imaldas interaktiivses reĆŸiimis (git rebase -i —preserve-merges) redigeerida commitide ajalugu, kuid ei taganud kogu repo struktuuri sĂ€ilitamist. Uus reĆŸiim „—rebase-merges” vĂ”imaldab sĂ€ilitada muudatuste struktuuri kĂ€tkese harus, pakkudes samal ajal tĂ€ielikku interaktiivsete toimingute komplekti, sealhulgas commitide eemaldamist, ĂŒmbergruppimist ja ĂŒmbernimetamist.

    NĂ€iteks „—rebase-merges” lubab saate commite eraldi harust uuemale master-harule ĂŒles laadida, sĂ€ilitades samal ajal harude struktuuri kĂ€tkese harus ning teha samal ajal mĂ”ned muudatused commitide mĂ€rkustes.

  • Lisatud on tugi uue haru loomiseks kahe teise haru sulandamise pĂ”hjal (merge base, ĂŒhiselt esivanemalt) kĂ€skude „git branch new A
B“ ja „git checkout -b new A
B“ abil, kus „A
B“ tĂ€hendab sulandamisaluse mÀÀratlemist kahe mÀÀratud commit'i vahel, sarnaselt sellele, kuidas „git checkout A
B“ nihutab HEAD'i baaskommitisse ja „diff A
B“ nĂ€itab muudatusi commit'i „B“ ja ĂŒhiselt commit'iga „A“ seotud esivanema vahel.

    NĂ€iteks töötades eraldi haru my-feature kallal, saab soovitatud funktsiooni kasutada olukordades, kus on vajalik alustada teisest harust, nĂ€iteks samast kohast master-harus, kust haru my-feature on vĂ€lja tĂ”mmatud. Varem tuli seda kĂ€sitsi jĂ€lgida muudatuste logis, mis tekitas ebamugavusi pika muudatusajaloo korral, seejĂ€rel kĂ€ivitada „git merge-base master my-feature“, et arvutada master'i ja my-feature'i harude vahelise sulandusbaasi hash, ning luua uus haru vastavalt ĂŒhiselt esivanemale „git branch my-other-feature hash“. Git 2.22-s saab kahe teise haru sulandamise alusel uue haru loomiseks kasutada sĂŒntaksit „git branch my-other-feature A
B“;

  • Lisatud on vĂ”imalus kasutada kĂ€sku „git branch —show-current“, et kuvada haru nime, mis saadakse checkout toimingu kĂ€igus;
  • Lisatud on vĂ”imalus kasutada kĂ€sku „git checkout —no-overlay — dir“, mis vĂ”imaldab checkout toimingu kĂ€igus viia kausta dir sisu tĂ€ielikult vastavusse master-haru olekuga. NĂ€iteks, kui kohaliku kausta dir koopias on fail, mis puudub master-harus, jĂ€etakse see vaikimisi pĂ€rast „git checkout master — dir“ kĂ€ivitamist alles, kuid „—no-overlay“ valiku kasutamisel kustutatakse see;
  • KĂ€skluses „git diff“ on kasutusele vĂ”etud universaalne API valikute tĂ”lgendamiseks, mis on vĂ”imaldanud ĂŒhtlustada valikute töötlemist teiste git utiliididega. NĂ€iteks on „git diff“ kĂ”igi valikute jaoks nĂŒĂŒd saadaval ka nende antagonistid („—function-context“ ja „—no-function-context“);
  • Lisatud on vĂ”imalus filtreerida „git log“ vĂ€ljundis kommitite kĂŒlge kinnitatud laiendatud silte („trailer“ — lisainfo lipud, nagu Signed-off-by ja Co-authored-by). Silte on vĂ”imalik filtreerida nii vĂ”tme kui vÀÀrtuse jĂ€rgi, nĂ€iteks:
    „git log —pretty=»%(trailers:key=Reviewed-by,valueonly)»;
  • Lisatud uus jĂ€lgimismehhanism Trace2, mis pakub paindlikumat ja struktureeritumat vĂ€ljundformaati. Trace2 vĂ”imaldab koguda telemeetriat teostatavate toimingute ja tootlikkuse andmete kohta, et tagada pĂ”hjalikum analĂŒĂŒs ja tĂ”rkeotsing (kasutaja mÀÀratud kĂ€sitleja, andmeid ei saadeta vĂ€ljapoole);
  • TĂ€htsustatud on «git bisect» aruanne, kus probleemsed commid on nĂŒĂŒd paremini vĂ€lja toodud ja esitatud on kokkuvĂ”tlik statistika muudatuste kohta igas failis (muudetud ridade arvu tasemel);
  • Kataloogide ĂŒmbernimetamise tuvastamise heuristika on ĂŒmber korraldatud, et vĂ€ltida vale ĂŒmbernimetamise sildi seadmist. Kahtluse korral mĂ€rgitakse sellised kataloogid nĂŒĂŒd konfliktiolukordadena;
  • Etteseatud on hoiatus, kui proovite seada silti teisele silti, mida tavaliselt tehakse ekslikult ja see vĂ”ib viia sildi seadmiseni valesse committi (nt kĂ€sk «git tag -f -m «updated message» my-tag1 my-tag2» loob sildi vanale sildile, samas kui arendaja arvas, et uus silt seatakse commidile, millele osutab vana silt);
  • Kaartide reposteerimise genereerimine on lubatud (diskstruktuur „reachability bitmaps”), mis salvestab andmed objektigruppide kohta, mis on iga kinnituse jaoks saadaval, vĂ”imaldades kiirelt kindlaks teha alustava objekti olemasolu. Antud struktuur vĂ€hendab oluliselt andmete vĂ€ljatĂ”mbamisoperatsioonide (git fetch) tĂ€itmise aega.

Allikas: opennet.ru

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