Tso tawm qhov kev faib tawm tswj qhov system Git 2.26

Muaj tso tawm qhov faib qhov chaw tswj qhov system Git 2.26.0. Git yog ib qho ntawm cov neeg nyiam tshaj plaws, txhim khu kev qha, thiab kev ua tau zoo tshaj plaws kev tswj hwm cov tshuab uas muab cov cuab yeej hloov kho tsis yog kab tawm raws li cov ceg ntoo thiab kev sib koom ua ke. Txhawm rau kom ntseeg tau qhov kev ncaj ncees ntawm keeb kwm thiab kev tiv thaiv rau cov kev hloov pauv rov qab, cuam tshuam rau tag nrho cov keeb kwm yav dhau los hauv txhua qhov kev cog lus raug siv, nws tseem tuaj yeem txheeb xyuas cov cim npe ntawm tus kheej thiab cog lus nrog cov kos npe digital los ntawm cov tsim tawm.

Piv nrog rau qhov kev tso tawm dhau los, cov ntawv tshiab suav nrog 504 qhov kev hloov pauv, npaj nrog kev koom tes ntawm 64 tus tsim tawm, ntawm 12 tau koom nrog kev txhim kho thawj zaug. ntsiab kev tsim kho tshiab:

  • Lub neej ntawd tau hloov mus rau thib ob version Git kev sib txuas lus raws tu qauv, uas yog siv thaum tus neeg siv khoom txuas mus rau Git server. Qhov thib ob version ntawm cov txheej txheem yog qhov tseem ceeb rau kev muab lub peev xwm los lim cov ceg thiab cov cim npe ntawm tus neeg rau zaub mov sab, rov qab cov npe luv luv ntawm cov txuas mus rau tus neeg siv khoom. Yav dhau los, ib qho kev hais kom rub yuav ib txwm xa tus neeg siv cov npe tag nrho ntawm cov ntaub ntawv xa mus rau tag nrho cov chaw cia khoom, txawm tias tus neeg siv khoom tsuas yog hloov kho ib ceg lossis tshawb xyuas tias lawv daim ntawv theej ntawm lub chaw khaws cia yog nyob rau hnub. Lwm qhov kev hloov pauv tseem ceeb yog qhov muaj peev xwm ntxiv cov peev txheej tshiab rau cov txheej txheem raws li kev ua haujlwm tshiab tau dhau los ua muaj nyob rau hauv cov khoom siv. Tus neeg siv code tseem sib xws nrog cov txheej txheem qub thiab tuaj yeem ua haujlwm txuas ntxiv nrog ob qho tib si tshiab thiab qub servers, cia li poob rov qab mus rau thawj version yog tias lub server tsis txhawb qhov thib ob.
  • Qhov kev xaiv "-show-scope" tau ntxiv rau "git config" hais kom ua, ua kom yooj yim dua los txheeb xyuas qhov chaw uas qee qhov kev teeb tsa tau txhais. Git tso cai rau koj los txhais cov kev teeb tsa hauv ntau qhov chaw: hauv qhov chaw cia khoom (.git/info/config), hauv cov neeg siv cov npe (~/.gitconfig), hauv cov ntaub ntawv kaw lus thoob plaws (/etc/gitconfig), thiab los ntawm kev hais kom ua kab kev xaiv thiab ib puag ncig hloov pauv. Thaum ua tiav "git config" nws yog qhov nyuaj heev kom nkag siab qhov twg raws nraim qhov xav tau teeb tsa. Txhawm rau daws qhov teeb meem no, qhov kev xaiv "--show-origin" muaj, tab sis nws tsuas yog qhia txog txoj hauv kev rau cov ntaub ntawv uas tau hais tseg, uas muaj txiaj ntsig yog tias koj npaj siab hloov cov ntaub ntawv, tab sis tsis pab yog tias koj yuav tsum tau hloov tus nqi los ntawm "git config" siv cov kev xaiv "--system", "--global" lossis "-local". Qhov kev xaiv tshiab "--show-scope" qhia cov ntsiab lus sib txawv ntawm cov ntsiab lus thiab tuaj yeem siv ua ke nrog -show-origin:

    $ git --list --show-scope --show-origin
    global file:/home/user/.gitconfig diff.interhunkcontext=1
    global file:/home/user/.gitconfig push.default=tam sim no
    […] 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.*'
    thoob ntiaj teb diff.statgraphwidth 35
    hauv zos diff.colormoved tiaj

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

  • Nyob rau hauv kev sib khi tej chaw cov ntaub ntawv pov thawj Kev siv lub qhov ncauj qhov ntswg hauv URLs raug tso cai. Txhua qhov chaw HTTP thiab daim ntawv pov thawj hauv Git tuaj yeem teeb tsa ob qho tib si rau txhua qhov kev sib txuas (http.extraHeader, credential.helper) thiab rau URL-raws li kev sib txuas (credential.https://example.com.helper, credential.https://example. com.helper). Txog tam sim no, cov ntawv cim xws li *.example.com tsuas yog tso cai rau HTTP chaw, tab sis tsis tau txais kev txhawb nqa rau daim ntawv pov thawj. Hauv Git 2.26, qhov sib txawv no raug tshem tawm thiab, piv txwv li, txhawm rau khi tus neeg siv lub npe rau txhua tus subdomains tam sim no koj tuaj yeem qhia meej:

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

    username = taylorr

  • Kev nthuav dav ntawm kev sim txhawb nqa rau ib nrab cloning (ib nrab clones) txuas ntxiv, tso cai rau koj hloov pauv tsuas yog ib feem ntawm cov ntaub ntawv thiab ua haujlwm nrog cov ntawv tsis tiav ntawm qhov chaw khaws cia. Qhov kev tso tawm tshiab ntxiv cov lus txib tshiab "git sparse-checkout add", uas tso cai rau koj ntxiv cov npe ntawm tus kheej los siv "checkout" ua haujlwm rau ib feem ntawm tsob ntoo ua haujlwm, es tsis txhob sau tag nrho cov npe ntawm ib zaug los ntawm cov lus txib "git sparse-checkout set" (koj tuaj yeem ntxiv ib qho los ntawm ib daim ntawv teev npe, tsis tas yuav qhia tag nrho cov npe txhua zaus).
    Piv txwv li, txhawm rau clone git / git repository yam tsis tau ua blobs, txwv kev xa tawm mus rau hauv lub hauv paus directory ntawm cov ntawv luam ua haujlwm, thiab cais kos tawm rau "t" thiab "Cov Ntaub Ntawv" cov npe, koj tuaj yeem qhia meej:

    $ git clone --filter=blob:none --sparse [email tiv thaiv]:git/git.git ib

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

    $ git sparse-checkout ntxiv t
    ....
    $ git sparse-checkout ntxiv Cov ntaub ntawv
    ....
    $ git sparse-checkout list
    Lwm cov ntaub ntawv
    t

  • Kev ua tau zoo ntawm "git grep" hais kom ua, siv los tshawb nrhiav ob qho tib si tam sim no cov ntsiab lus ntawm cov chaw khaws cia thiab keeb kwm hloov kho, tau txhim kho zoo dua. Txhawm rau txhawm rau txhawm rau tshawb nrhiav, nws tuaj yeem luam theej duab cov ntsiab lus ntawm tsob ntoo ua haujlwm siv ntau cov xov ("git grep -xov"), tab sis kev tshawb fawb hauv keeb kwm kev hloov kho yog ib txoj xov. Tam sim no qhov kev txwv no tau raug tshem tawm los ntawm kev siv lub peev xwm los ua piv txwv kev nyeem ntawv los ntawm cov khoom khaws cia. Los ntawm lub neej ntawd, cov xov tooj ntawm cov xov yog teem sib npaug rau cov xov tooj ntawm CPU cores, uas feem ntau tam sim no tsis tas yuav tsum tau teeb tsa qhov "-xov" kev xaiv.
  • Ntxiv kev txhawb nqa rau autocompletion ntawm cov tswv yim ntawm subcommands, paths, links thiab lwm yam kev sib cav ntawm "git worktree" hais kom ua, uas tso cai rau koj mus ua hauj lwm nrog ob peb ua hauj lwm luam ntawm lub repository.
  • Ntxiv kev txhawb nqa rau cov xim ci uas muaj ANSI kev khiav tawm ib ntus. Piv txwv li, hauv qhov chaw rau cov xim tseem ceeb "git config -color" lossis "git diff -xim-tsav" koj tuaj yeem qhia "% C (brightblue)" ntawm "-- hom ntawv" xaiv rau xiav xiav.
  • Ntxiv tshiab version ntawm tsab ntawv fsmonitor-tus neeg saib xyuas, muab kev koom ua ke nrog lub mechanism Facebook Saib txhawm rau txhawm rau taug qab cov ntaub ntawv hloov pauv thiab cov tsos ntawm cov ntaub ntawv tshiab. Tom qab hloov kho git yuav tsum tau hloov nuv nyob rau hauv lub repository.
  • Ntxiv optimizations kom ceev ib feem clones thaum siv bitmap
    (bitmap machinery) kom tsis txhob muaj kev tshawb nrhiav tag nrho cov khoom thaum lim cov zis. Kev kuaj xyuas blobs (β€”filter = blob: tsis muaj thiab β€”filter=blob: txwv = n) thaum lub sijhawm cloning ib nrab tam sim no ua tiav
    sai heev. GitHub tshaj tawm thaj ua rau thaj nrog cov kev ua kom zoo dua no thiab kev sim txhawb nqa rau ib nrab cloning.

  • Cov lus txib "git rebase" tau tsiv mus rau qhov sib txawv backend, siv lub neej ntawd 'merge' mechanism (yav dhau los siv rau "rebase -i") es tsis txhob 'patch + thov'. Cov backends txawv ntawm qee txoj hauv kev me me, piv txwv li, tom qab ua haujlwm txuas ntxiv tom qab daws qhov teeb meem (git rebase -- txuas ntxiv), lub backend tshiab muaj los kho cov lus cog lus, thaum lub qub tsuas siv cov lus qub. Txhawm rau rov qab mus rau tus cwj pwm qub, koj tuaj yeem siv qhov "--apply" kev xaiv los yog teeb tsa 'rebase.backend' configuration variable rau 'apply'.
  • Ib qho piv txwv ntawm tus handler rau authentication tsis tau teev tseg ntawm .netrc tau raug txo kom ib daim ntawv tsim nyog siv tawm ntawm lub thawv.
  • Ntxiv qhov gpg.minTrustLevel teeb tsa los teeb tsa qhov tsawg kawg nkaus kev ntseeg siab rau ntau lub ntsiab lus uas ua pov thawj kos npe digital.
  • Ntxiv "--pathspec-from-file" kev xaiv rau "git rm" thiab "git stash".
  • Kev txhim kho ntawm cov chav kuaj sim txuas ntxiv hauv kev npaj rau kev hloov mus rau SHA-2 hashing algorithm es tsis txhob SHA-1.

Tau qhov twg los: opennet.ru

Ntxiv ib saib