Kutulutsidwa kwa makina owongolera magwero a Git 2.26

Ipezeka kumasulidwa kwa distributed source control system Git 2.26.0. Git ndi imodzi mwazinthu zodziwika bwino, zodalirika, komanso zotsogola zotsogola zomwe zimapereka zida zachitukuko zosasinthika kutengera nthambi ndi kuphatikiza nthambi. Kuwonetsetsa kukhulupirika kwa mbiri yakale komanso kukana kusintha kwa "backdating", kubisa mbiri yonse yam'mbuyomu pakupanga kulikonse kumagwiritsidwa ntchito, ndizothekanso kutsimikizira ma tag amodzi ndikuchita ndi siginecha ya digito ya omwe akupanga.

Poyerekeza ndi kumasulidwa koyambirira, Baibulo latsopanoli linaphatikizapo kusintha kwa 504, kokonzedwa ndi kutenga nawo mbali kwa opanga 64, omwe 12 adatenga nawo gawo pa chitukuko kwa nthawi yoyamba. waukulu zatsopano:

  • Zosasintha zasinthidwa kukhala Baibulo lachiwiri Git communication protocol, yomwe imagwiritsidwa ntchito ngati kasitomala akulumikizana ndi seva ya Git. Mtundu wachiwiri wa protocol ndiwodziwikiratu popereka kuthekera kosefera nthambi ndi ma tag kumbali ya seva, kubweretsanso mndandanda wofupikitsa wamalumikizidwe kwa kasitomala. M'mbuyomu, kukoka kulikonse kumatumiza kasitomala mndandanda wathunthu wazolozera m'malo onse, ngakhale kasitomala amangosintha nthambi imodzi kapena kuyang'ana kuti chosungira chawo chinali chaposachedwa. Chinanso chodziwika bwino ndikutha kuwonjezera mphamvu zatsopano ku protocol pomwe magwiridwe antchito atsopano akupezeka muzothandizira. Khodi ya kasitomala imakhalabe yogwirizana ndi protocol yakale ndipo imatha kupitiliza kugwira ntchito ndi ma seva atsopano ndi akale, ndikungobwerera ku mtundu woyamba ngati seva sichikuthandizira yachiwiri.
  • Njira ya "-show-scope" yawonjezedwa ku lamulo la "git config", kupangitsa kuti zikhale zosavuta kuzindikira malo omwe makonda ena amafotokozedwa. Git imakupatsani mwayi wofotokozera makonda m'malo osiyanasiyana: m'malo (.git/info/config), m'ndandanda wa ogwiritsa (~/.gitconfig), mufayilo yosinthira dongosolo lonse (/etc/gitconfig), komanso kudzera mu lamulo. zosankha za mzere ndi zosintha zachilengedwe. Mukamachita "git config" zimakhala zovuta kumvetsetsa komwe komwe mukufuna kumatanthauziridwa. Kuti athetse vutoli, njira ya "--show-origin" inalipo, koma imangowonetsa njira yopita ku fayilo yomwe imatanthauzidwa, yomwe imakhala yothandiza ngati mukufuna kusintha fayilo, koma sizikuthandizani muyenera kusintha mtengo kudzera mu "git config" pogwiritsa ntchito zosankha "--system", "-global" kapena "-local". Njira yatsopano "--show-scope" ikuwonetsa tanthauzo losinthika ndipo itha kugwiritsidwa ntchito limodzi ndi -show-origin:

    $ git --list --show-scope --show-origin
    Fayilo yapadziko lonse:/home/user/.gitconfig diff.interhunkcontext=1
    Fayilo yapadziko lonse:/home/user/.gitconfig push.default=current
    […] local file:.git/config branch.master.remote=origin
    local file:.git/config branch.master.merge=refs/heads/master

    $ git config --show-scope --get-regexp 'diff.*'
    global diff.statgraphwidth 35
    local diff.colormoved plain

    $ git config --global --unset diff.statgraphwidth

  • Mu zoikamo zomangiriza ziyeneretso Kugwiritsa ntchito masks mu ma URL ndikololedwa. Zokonda zilizonse za HTTP ndi zidziwitso mu Git zitha kukhazikitsidwa pamalumikizidwe onse (http.extraHeader, credential.helper) komanso pamalumikizidwe otengera ma URL (credential.https://example.com.helper, credential.https: //example. com.wothandizira). Mpaka pano, makadi akutchire monga *.example.com anali ololedwa pa zoikamo za HTTP, koma sanagwiritsidwe ntchito pomanga mbiri. Mu Git 2.26, kusiyana kumeneku kumathetsedwa ndipo, mwachitsanzo, kumangirira dzina lolowera kumadera onse omwe mungathe kufotokoza:

    [chidziwitso "https://*.example.com"]

    username = ttaylorr

  • Kukula kwa chithandizo choyesera cha ma cloning pang'ono (ma clones ang'onoang'ono) kukupitiriza, kukulolani kusamutsa gawo lokha la deta ndikugwira ntchito ndi kopi yosakwanira ya nkhokwe. Kutulutsidwa kwatsopanoku kumawonjezera lamulo latsopano "git sparse-checkout add", lomwe limakupatsani mwayi wowonjezera zolemba zanu kuti mugwiritse ntchito "checkout" pagawo lokha la mtengo wogwira ntchito, m'malo molemba zolemba zonse nthawi imodzi kudzera pa "git". sparse-checkout set" (mutha kuwonjezera chikwatu chimodzi ndi chimodzi, osatchulanso mndandanda wonse nthawi iliyonse).
    Mwachitsanzo, kufananiza nkhokwe ya git/git osalemba mabulogu, kuletsa kutuluka ku chikwatu chokhacho cha buku lomwe likugwira ntchito, ndikulemba padera potuluka pa "t" ndi "Documentation", mutha kufotokoza:

    $ git clone --filter=blob:none --sparse [imelo ndiotetezedwa]:git/git.git

    $ cd git
    $ git sparse-checkout init --cone

    $ git sparse-checkout onjezani t
    ....
    $ git sparse-checkout onjezerani Zolemba
    ....
    $ git sparse-checkout mndandanda
    Kumasulira
    t

  • Kuchita kwa lamulo la "git grep", lomwe limagwiritsidwa ntchito kufufuza zomwe zili mkati mwazosungirako komanso mbiri yakale, zasinthidwa kwambiri. Kuti mufulumizitse kufufuza, zinali zotheka kusanthula zomwe zili mumtengo wogwira ntchito pogwiritsa ntchito ulusi wambiri ("git grep -threads"), koma kufufuza muzosinthidwa zakale kunali ndi ulusi umodzi. Tsopano zoletsa izi zachotsedwa pokhazikitsa kuthekera kofananiza ntchito zowerengera kuchokera kusungirako zinthu. Mwachikhazikitso, chiwerengero cha ulusi chimayikidwa chofanana ndi chiwerengero cha ma CPU cores, omwe nthawi zambiri tsopano safuna kuyika momveka bwino "-threads" njira.
  • Thandizo lowonjezera pakumalizitsa kuyika kwa ma subcommands, njira, maulalo ndi mfundo zina za lamulo la "git worktree", lomwe limakupatsani mwayi wogwira ntchito ndi makope angapo ogwira ntchito ankhokwe.
  • Thandizo lowonjezera lamitundu yowala yomwe ili ndi njira zopulumukira za ANSI. Mwachitsanzo, pazokonda zamitundu yowunikira "git config -color" kapena "git diff -color-moved" mutha kutchula "%C(brightblue)" kudzera pa "--format" njira ya buluu wowala.
  • Anawonjezera mtundu watsopano wa script fsmonitor-woyang'anira, kupereka kusakanikirana ndi makina Facebook Watchman kufulumizitsa kutsata kusintha kwa mafayilo ndi maonekedwe a mafayilo atsopano. Pambuyo pakusintha git ndikofunikira sinthani mbedza mu posungira.
  • Kukhathamiritsa kowonjezera kuti mufulumizitse ma clones mukamagwiritsa ntchito bitmaps
    (makina a bitmap) kuti mupewe kusaka kwathunthu kwa zinthu zonse mukasefa zomwe zatuluka. Kuyang'ana ma blobs (—sefa=blob:none and —filter=blob:limit=n) panthawi ya cloning pang'ono tsopano yachitika
    mofulumira kwambiri. GitHub adalengeza zigamba ndi kukhathamiritsa uku komanso kuthandizira koyeserera pang'ono.

  • Lamulo la "git rebase" lasunthidwa kumalo ena akumbuyo, pogwiritsa ntchito njira ya 'merge' (yomwe idagwiritsidwa ntchito kale "rebase -i") m'malo mwa 'chigamba+apply'. Ma backends amasiyana m'njira zina zazing'ono, mwachitsanzo, mutatha kupitiliza opareshoni mutathetsa mkangano (git rebase --continue), backend yatsopanoyo ikupereka kusintha uthengawo, pomwe yakaleyo idangogwiritsa ntchito uthenga wakale. Kuti mubwerere ku khalidwe lachikale, mungagwiritse ntchito njira ya "--apply" kapena kukhazikitsa kusintha kwa kasinthidwe ka 'rebase.backend' kuti 'igwiritse ntchito'.
  • Chitsanzo cha chogwirizira cha magawo otsimikizira otchulidwa kudzera pa .netrc chatsitsidwa kukhala mawonekedwe oyenera kugwiritsidwa ntchito kunja kwa bokosilo.
  • Anawonjezera zoikamo za gpg.minTrustLevel kuti mukhazikitse mulingo wocheperako wodalirika pazinthu zosiyanasiyana zomwe zimatsimikizira siginecha ya digito.
  • Onjezani njira ya "--pathspec-from-file" kupita ku "git rm" ndi "git stash".
  • Kuwongolera kwa ma suites oyeserera kunapitilira kukonzekera kusintha kwa SHA-2 hashing algorithm m'malo mwa SHA-1.

Source: opennet.ru

Kuwonjezera ndemanga