Hajutatud allika juhtimissüsteemi Git 2.25 väljalase

Saadaval hajutatud allika juhtimissüsteemi vabastamine git 2.25.0. Git on üks populaarsemaid, usaldusväärsemaid ja suure jõudlusega versioonikontrollisüsteeme, mis pakub paindlikke mittelineaarseid arendustööriistu, mis põhinevad harude hargnemisel ja ühendamisel. Ajaloo terviklikkuse ja tagasiulatuvatele muudatustele vastupidavuse tagamiseks kasutatakse igas sissekandes kogu eelneva ajaloo kaudset räsimist, samuti on võimalik kontrollida üksikuid silte ja kohustusi arendajate digiallkirjadega.

Võrreldes eelmise versiooniga, sisaldas uus versioon 583 muudatust, mis valmistati ette 84 arendaja osalusel, millest 32 osales arenduses esmakordselt. Kõik uuendused:

  • Osalise kloonimise võimalus läheneb stabiliseerumisele ja täielikule valmisolekule, mis võimaldab teil edastada ainult osa andmetest ja töötada hoidla mittetäieliku koopiaga. Tüüpiline kloon kopeerib hoidlast kõik andmed, sealhulgas muudatuste ajaloo iga faili kõik versioonid. Väga suurte hoidlate puhul suurendab andmete kopeerimine oluliselt liiklust ja kettaruumi, isegi kui arendajat huvitab vaid failide alamhulk. Ainult osa töötavast lähtepuust toomise hõlbustamiseks tutvustab uus versioon eksperimentaalset käsku "sparse-checkout" ja uut käsku "--sparse" käsu "clone" jaoks.

    Varem viidi valikuline kloonimine läbi ülesande kaudu filtrid tarbetu sisu välja filtreerimiseks ja suvand "-no-checkout", et keelata puuduvate failide täitmine. Pärast seda, enne kassatoimingu sooritamist, oli vaja lubada säte core.sparseCheckout ja määrata failis .git/info/sparse-checkout välistatud teemustrite loend. Näiteks ilma plekkideta kloonimiseks ja failide ekstraktimise vältimiseks 2. või enama sügavusega alamkataloogidest võite käivitada:

    git kloon --filter=blob:none --no-checkout /your/repository/here repo
    $ cd repo
    $ kass >.git/info/sparse-checkout
    /*
    !/*
    EOF
    $ git config core.sparseCheckout 1
    $ git kassasse .

    Uus käsk “git sparse-checkout” lihtsustab oluliselt tööd ja vähendab mittetäieliku hoidlaga töö korraldamise protsessi järgmistele käskudele:

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

    Käsk sparse-checkout võimaldab teil määrata väljamakse teede loendi (set) ilma faili .git/info/sparse-checkout käsitsi konfigureerimata, samuti kuvada praegune teede loend (loend) ja lubada või keelata osalised kassad (lubamine /keela).

    Väga suurte hoidlate ja mallide loenditega töö optimeerimiseks kasutage "git config core.sparseCheckoutCone", mis piirab lubatud mustreid (suvaliste .gitignore mustrite asemel saate määrata, kas kõik teed ja kõik failid antud alamkataloogis tuleks välja registreerida). Näiteks kui suures hoidlas on kataloog “A/B/C” ja kogu töö on koondunud alamkataloogi “C”, siis sparseCheckoutCone režiimi lubamisel tuleb käsk “git sparse-checkout set A/B/ C” ekstraheerib kogu “C” sisu, kuid “A” ja “B” hulgast eraldab see ainult need osad, mis on vajalikud “C-ga” töötamiseks.

  • Dokumentatsioonist ("git rebase -h") on eemaldatud kõik viited suvandile "--preserve-merges", mis on aegunud ja seda tuleks selle asemel kasutada kohustuste komplekti migreerimiseks.git rebase --rebase-merges"
  • Meililistidele saadetavate paikadega kirjade loetavuse parandamiseks on lisatud valik “git formaat-patch —cover-from-description subject”, mille määramisel kasutatakse haru kirjelduse teksti esimest lõiku teemana. kaaskiri plaastrite komplektile.
  • Rakendatud tugi käsu "git apply -3way" ja sätte "merge.conflictStyle" kombineeritud kasutamiseks ("git apply" võtab nüüd arvesse merge.conflictStyle'i konflikti kirjelduse stiili, kui on vaja konflikt pärast proovimist lahendada hoidlasse paigafaili rakendamiseks).
  • Funktsioonide määratlemise koodi, mida kasutatakse sellistes operatsioonides nagu "git diff/grep --show-function/-function-context" on laiendatud, et toetada funktsioonide piiride määratlemist keeleprogrammides Elixir.
  • Käskudele "git add", "git commit", "git reset" ja teistele käskudele on lisatud uus valik - "-pathspec-from-file", mis võimaldab laadida failist või sisendvoost teede loendit , selle asemel, et neid käsureale loetleda.
  • Ülesannete kirjutamisel kataloogi tasemel ümbernimetuste tuvastamise probleem on lahendatud. Määratlus ei töötanud, kui alamkataloogi sisu teisaldati hoidla juure.
  • Välja on pakutud ümberkujundatud käsu "git add -i" esialgne juurutamine, mis võimaldab teil interaktiivselt lisada muudetud sisu, mis on ümber kirjutatud Perlist C-ks. Käsu “git add -p” sarnane ümbertöötamine on käimas.
  • Käsk “git log –graph” on ümber kujundatud, genereerides ASCII-kujutise graafikust koos hoidlas toimunud muudatuste ajalooga. Ümbertöö võimaldas väljundit oluliselt parandada ja lihtsustada ilma loo struktuuri moonutamata, mis näiteks lahendas probleemi terminali joone laiusest kaugemale ulatuva pildiga.
  • Valik "git log --format=.." võimaldab teil muuta väljundvormingut,
    laiendatud l/L-lippude toega, et kuvada ainult see osa e-posti aadressist, mis on näidatud sümboli @ ees (näiteks kasulik, kui kõigil arendajatel on kõik meilid samas domeenis).

  • Lisati käsule "git submodule" alamkäsk "set-url".
  • Testikomplekte on uuendatud, et valmistuda üleminekuks
    räsimisalgoritm SHA-2, mitte SHA-1.

Allikas: opennet.ru

Lisa kommentaar