Pagpagawas sa giapod-apod nga source control system nga Git 2.26

Magamit pagpagawas sa giapod-apod nga source control system Git 2.26.0. Ang Git usa sa pinakasikat, kasaligan, ug high-performance nga version control system nga naghatag ug flexible non-linear development tools base sa branching ug merging branches. Aron masiguro ang integridad sa kasaysayan ug pagsukol sa retroactive nga mga pagbag-o, gigamit ang implicit nga pag-hash sa tibuok miaging kasaysayan sa matag commit, posible usab nga ma-verify ang tagsa-tagsa nga mga tag ug commit sa digital signatures gikan sa mga developers.

Kung itandi sa miaging pagpagawas, ang bag-ong bersyon naglakip sa 504 nga mga pagbag-o, nga giandam uban ang pag-apil sa 64 nga mga developer, diin 12 ang miapil sa pag-uswag sa unang higayon. nag-unang mga inobasyon:

  • Ang default gibalhin sa ikaduha nga bersyon Git communication protocol, nga gigamit kung ang usa ka kliyente layo nga nagkonektar sa usa ka Git server. Ang ikaduha nga bersyon sa protocol nabantog tungod sa paghatag sa abilidad sa pagsala sa mga sanga ug mga tag sa kilid sa server, nga nagbalik sa usa ka gipamubo nga lista sa mga link sa kliyente. Kaniadto, ang bisan unsang pull command kanunay nga magpadala sa kliyente sa tibuuk nga lista sa mga pakisayran sa tibuuk nga repository, bisan kung ang kliyente nag-update lamang sa usa ka sanga o nagsusi nga ang ilang kopya sa repositoryo bag-o. Ang laing talagsaong kabag-ohan mao ang abilidad sa pagdugang og bag-ong mga kapabilidad sa protocol samtang ang bag-ong gamit mahimong magamit sa toolkit. Ang code sa kliyente nagpabilin nga nahiuyon sa daan nga protocol ug mahimo’g magpadayon sa pagtrabaho kauban ang bag-o ug daan nga mga server, awtomatiko nga mabalik sa una nga bersyon kung ang server dili mosuporta sa ikaduha.
  • Ang "-show-scope" nga kapilian gidugang sa "git config" nga sugo, nga mas sayon ​​​​nga mahibal-an ang dapit diin ang pipila ka mga setting gihubit. Gitugotan ka sa Git nga ipasabut ang mga setting sa lainlaing mga lugar: sa repository (.git/info/config), sa direktoryo sa gumagamit (~/.gitconfig), sa file sa pag-configure sa tibuuk nga sistema (/etc/gitconfig), ug pinaagi sa command mga kapilian sa linya ug mga variable sa palibot. Kung gipatuman ang "git config" lisud sabton kung diin eksakto ang gitinguha nga setting gihubit. Aron masulbad kini nga problema, ang opsyon nga "--show-origin" anaa, apan kini nagpakita lamang sa dalan sa file diin ang setting gihubit, nga mapuslanon kon ikaw nagtinguha sa pag-edit sa file, apan dili makatabang kung ikaw kinahanglan nga usbon ang kantidad pinaagi sa "git config" gamit ang mga kapilian nga "--system", "--global" o "-local". Ang bag-ong opsyon nga "--show-scope" nagpakita sa variable nga kahulugan nga konteksto ug mahimong gamiton kauban sa -show-origin:

    $ git --list --show-scope --show-origin
    global file:/home/user/.gitconfig diff.interhunkcontext=1
    global nga payl:/home/user/.gitconfig push.default=current
    […] lokal nga payl:.git/config branch.master.remote=origin
    lokal nga payl:.git/config branch.master.merge=refs/heads/master

    $ git config --show-scope --get-regexp 'diff.*'
    global diff.statgraphwidth 35
    lokal nga diff.colormoved patag

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

  • Sa mga setting sa pagbugkos mga kredensyal Gitugotan ang paggamit sa mga maskara sa mga URL. Ang bisan unsang mga setting sa HTTP ug mga kredensyal sa Git mahimong itakda para sa tanan nga koneksyon (http.extraHeader, credential.helper) ug para sa URL-based nga mga koneksyon (credential.https://example.com.helper, credential.https: //example. com.katabang). Hangtod karon, ang mga wildcard sama sa *.example.com gitugotan lang para sa mga setting sa HTTP, apan wala gisuportahan para sa pagbugkos sa kredensyal. Sa Git 2.26, kini nga mga kalainan giwagtang ug, pananglitan, aron mabugkos ang usa ka username sa tanan nga mga subdomain nga mahimo nimong ipiho:

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

    username = ttaylorr

  • Ang pagpalapad sa eksperimento nga suporta alang sa partial cloning (partial clones) nagpadayon, nga nagtugot kanimo sa pagbalhin lamang sa bahin sa data ug pagtrabaho uban sa usa ka dili kompleto nga kopya sa repository. Ang bag-ong pagpagawas nagdugang usa ka bag-ong command "git sparse-checkout add", nga nagtugot kanimo sa pagdugang sa indibidwal nga mga direktoryo aron magamit ang "checkout" nga operasyon sa bahin lamang sa nagtrabaho nga kahoy, imbis nga ilista ang tanan nga mga direktoryo sa usa ka higayon pinaagi sa mando nga "git sparse-checkout set" (mahimo nimong idugang ang tagsa-tagsa nga direktoryo, nga dili ipiho pag-usab ang tibuok nga listahan matag higayon).
    Pananglitan, aron ma-clone ang usa ka git/git repository nga wala maghimo mga blobs, limitahan ang pag-checkout sa root directory lamang sa nagtrabaho nga kopya, ug gilain nga markahan ang checkout alang sa "t" ug "Documentation" nga mga direktoryo, mahimo nimong ipiho:

    $ git clone --filter=blob:wala --sparse [protektado sa email]:git/git.git

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

    $ git sparse-checkout idugang t
    ....
    $ git sparse-checkout add Documentation
    ....
    $ git nga talagsa nga checkout nga listahan
    dokumentasyon
    t

  • Ang paghimo sa "git grep" nga sugo, nga gigamit sa pagpangita sa kasamtangan nga mga sulod sa repository ug mga pagbag-o sa kasaysayan, gipauswag pag-ayo. Aron mapadali ang pagpangita, posible nga ma-scan ang mga sulod sa working tree gamit ang daghang mga hilo (“git grep –threads”), apan ang pagpangita sa mga rebisyon sa kasaysayan kay single-threaded. Karon kini nga limitasyon gitangtang pinaagi sa pagpatuman sa abilidad sa pagpahiangay sa mga operasyon sa pagbasa gikan sa pagtipig sa butang. Sa kasagaran, ang gidaghanon sa mga hilo gitakda nga katumbas sa gidaghanon sa mga CPU cores, nga sa kadaghanang mga kaso karon wala na magkinahanglan ug tin-aw nga pagbutang sa "-threads" nga kapilian.
  • Gidugang nga suporta alang sa autocompletion sa input sa mga subcommand, mga agianan, mga link ug uban pang mga argumento sa "git worktree" nga sugo, nga nagtugot kanimo sa pagtrabaho uban sa daghang nagtrabaho nga mga kopya sa repository.
  • Gidugang nga suporta alang sa mahayag nga mga kolor nga adunay mga han-ay sa pag-ikyas sa ANSI. Pananglitan, sa mga setting alang sa highlight nga mga kolor "git config -color" o "git diff -color-moved" mahimo nimong ipiho ang "% C (brightblue)" pinaagi sa "--format" nga kapilian alang sa hayag nga asul.
  • Gidugang ang bag-ong bersyon sa script fsmonitor-bantay, paghatag og integrasyon sa mekanismo Tigbantay sa Facebook aron mapadali ang pagsubay sa mga pagbag-o sa file ug ang dagway sa bag-ong mga file. Human sa pag-update sa git gikinahanglan aron mapulihan hook sa repository.
  • Gidugang ang mga pag-optimize aron mapadali ang mga partial clone kung mogamit mga bitmap
    (bitmap machinery) aron malikayan ang kompleto nga pagpangita sa tanang butang sa pagsala sa output. Ang pagsusi sa mga blob (—filter=blob:wala ug —filter=blob:limit=n) atol sa partial cloning gihimo na karon
    kamahinungdanon mas paspas. GitHub nagpahibalo sa mga patch nga adunay kini nga mga pag-optimize ug suporta sa eksperimento alang sa partial cloning.

  • Ang "git rebase" nga sugo gibalhin sa laing backend, gamit ang default nga 'merge' nga mekanismo (kaniadto gigamit para sa "rebase -i") imbes nga 'patch+apply'. Ang mga backend magkalahi sa pipila ka gagmay nga mga paagi, pananglitan, human sa pagpadayon sa usa ka operasyon human sa pagsulbad sa usa ka panagbangi (git rebase --padayon), ang bag-ong backend nagtanyag sa pag-edit sa commit nga mensahe, samtang ang daan gigamit lang ang daan nga mensahe. Aron mobalik sa daan nga kinaiya, mahimo nimong gamiton ang "--apply" nga kapilian o ibutang ang 'rebase.backend' configuration variable ngadto sa 'apply'.
  • Usa ka pananglitan sa usa ka handler alang sa mga parameter sa pag-authenticate nga gipiho pinaagi sa .netrc nga gipamubu sa usa ka porma nga angay gamiton sa gawas sa kahon.
  • Gidugang ang setting sa gpg.minTrustLevel aron itakda ang minimum nga lebel sa pagsalig alang sa lain-laing mga elemento nga nagpahigayon sa digital signature verification.
  • Gidugang ang "--pathspec-from-file" nga kapilian sa "git rm" ug "git stash".
  • Ang pagpaayo sa mga test suite nagpadayon sa pagpangandam alang sa transisyon sa SHA-2 hashing algorithm imbes sa SHA-1.

Source: opennet.ru

Idugang sa usa ka comment