Rhyddhau system rheoli ffynhonnell ddosbarthedig Git 2.26
Ar gael rhyddhau system rheoli ffynhonnell ddosbarthedig Git 2.26.0. Git yw un o'r systemau rheoli fersiynau mwyaf poblogaidd, dibynadwy a pherfformiad uchel, gan ddarparu offer datblygu aflinol hyblyg yn seiliedig ar ganghennu ac uno. Er mwyn sicrhau cywirdeb yr hanes a gwrthwynebiad i newidiadau ôl-weithredol, defnyddir stwnsh ymhlyg o'r holl hanes blaenorol ym mhob ymrwymiad; mae hefyd yn bosibl ardystio tagiau unigol ac ymrwymo gyda llofnodion digidol y datblygwyr.
O'i gymharu â'r datganiad blaenorol, roedd y fersiwn newydd yn cynnwys 504 o newidiadau, a baratowyd gyda chyfranogiad 64 o ddatblygwyr, a chymerodd 12 ran mewn datblygiad am y tro cyntaf. Y prifarloesiadau:
Mae'r rhagosodiad wedi'i newid i ail fersiwn Protocol cyfathrebu Git, a ddefnyddir pan fydd cleient yn cysylltu o bell â gweinydd Git. Mae ail fersiwn y protocol yn nodedig am ddarparu'r gallu i hidlo canghennau a thagiau ar ochr y gweinydd, gan ddychwelyd rhestr fyrrach o ddolenni i'r cleient. Yn flaenorol, byddai unrhyw orchymyn tynnu bob amser yn anfon y rhestr lawn o gyfeiriadau at y cleient yn yr ystorfa gyfan, hyd yn oed pan oedd y cleient yn diweddaru un gangen yn unig neu'n gwirio bod eu copi o'r ystorfa yn gyfredol. Arloesedd nodedig arall yw'r gallu i ychwanegu galluoedd newydd at y protocol wrth i swyddogaethau newydd ddod ar gael yn y pecyn cymorth. Mae'r cod cleient yn parhau i fod yn gydnaws â'r hen brotocol a gall barhau i weithio gyda gweinyddwyr hen a newydd, gan ddisgyn yn awtomatig yn ôl i'r fersiwn gyntaf os nad yw'r gweinydd yn cefnogi'r ail.
Mae'r opsiwn “-show-scope” wedi'i ychwanegu at y gorchymyn “git config”, gan ei gwneud hi'n haws nodi'r man lle mae rhai gosodiadau wedi'u diffinio. Mae Git yn caniatáu ichi ddiffinio gosodiadau mewn gwahanol leoedd: yn yr ystorfa (.git/info/config), yn y cyfeiriadur defnyddiwr (~/.gitconfig), yn y ffeil ffurfweddu system gyfan (/etc/gitconfig), a thrwy orchymyn opsiynau llinell a newidynnau amgylchedd. Wrth weithredu “git config” mae'n eithaf anodd deall ble yn union y diffinnir y gosodiad a ddymunir. I ddatrys y broblem hon, roedd yr opsiwn "--show-origin" ar gael, ond dim ond y llwybr i'r ffeil y mae'r gosodiad wedi'i ddiffinio ynddi y mae'n ei ddangos, sy'n ddefnyddiol os ydych chi'n bwriadu golygu'r ffeil, ond nid yw'n helpu os ydych chi angen newid y gwerth trwy "git config" gan ddefnyddio opsiynau "--system", "--global" neu "-local". Mae'r opsiwn newydd "--show-scope" yn dangos y cyd-destun diffiniad amrywiol a gellir ei ddefnyddio ar y cyd â -show-origin:
Yn y gosodiadau rhwymo cymwysterau Caniateir defnyddio masgiau mewn URLs. Gellir gosod unrhyw osodiadau HTTP a chymwysterau yn Git ar gyfer pob cysylltiad (http.extraHeader, credential.helper) ac ar gyfer cysylltiadau seiliedig ar URL (credential.https://example.com.helper, credential.https: //example. com.helper). Hyd yn hyn, dim ond ar gyfer gosodiadau HTTP y caniatawyd cardiau gwyllt fel *.example.com, ond ni chawsant eu cefnogi ar gyfer rhwymo credadwy. Yn Git 2.26, mae'r gwahaniaethau hyn yn cael eu dileu ac, er enghraifft, i rwymo enw defnyddiwr i bob is-barth gallwch nawr nodi:
[credential "https://*.example.com"]
enw defnyddiwr = taylorr
Mae ehangu cefnogaeth arbrofol ar gyfer clonio rhannol (clonau rhannol) yn parhau, sy'n eich galluogi i drosglwyddo rhan o'r data yn unig a gweithio gyda chopi anghyflawn o'r ystorfa. Mae'r datganiad newydd yn ychwanegu gorchymyn newydd "git sparse-checkout add", sy'n eich galluogi i ychwanegu cyfeirlyfrau unigol i gymhwyso'r gweithrediad "checkout" i ran o'r goeden weithio yn unig, yn lle rhestru pob cyfeiriadur o'r fath ar unwaith trwy'r gorchymyn "git set checkout denau" (gallwch ychwanegu cyfeiriadur fesul un, heb ail-nodi'r rhestr gyfan bob tro).
Er enghraifft, i glonio ystorfa git/git heb ymrwymo smotiau, gan gyfyngu ar y ddesg dalu i gyfeiriadur gwraidd y copi gweithio yn unig, a marcio til ar wahân ar gyfer y cyfeiriaduron "t" a "Dogfennaeth", fe allech chi nodi:
$git denau-checkout ychwanegu t
....
$ git sparse-checkout ychwanegu Dogfennaeth
....
$git denau-rhestr siec
dogfennaeth
t
Mae perfformiad y gorchymyn “git grep”, a ddefnyddir i chwilio cynnwys cyfredol yr ystorfa a diwygiadau hanesyddol, wedi gwella'n sylweddol. Er mwyn cyflymu’r chwilio, bu’n bosibl sganio cynnwys y goeden waith gan ddefnyddio edafedd lluosog (“git grep –threads”), ond roedd y chwiliad mewn diwygiadau hanesyddol yn un edau. Nawr mae'r cyfyngiad hwn wedi'i ddileu trwy weithredu'r gallu i gyfochrog â gweithrediadau darllen o'r storfa wrthrychau. Yn ddiofyn, mae nifer yr edafedd wedi'i osod yn hafal i nifer y creiddiau CPU, nad oes angen gosod yr opsiwn "-threads" yn benodol yn y rhan fwyaf o achosion.
Ychwanegwyd cefnogaeth ar gyfer awtolenwi mewnbwn is-orchmynion, llwybrau, dolenni a dadleuon eraill o'r gorchymyn “git worktree”, sy'n eich galluogi i weithio gyda sawl copi gweithredol o'r ystorfa.
Cefnogaeth ychwanegol ar gyfer lliwiau llachar sydd â dilyniannau dianc ANSI. Er enghraifft, yn y gosodiadau ar gyfer lliwiau amlygu “git config –color” neu “git diff –color-moved” gallwch chi nodi “% C(brightblue)” trwy'r opsiwn “--format” ar gyfer glas llachar.
Ychwanegwyd fersiwn newydd o'r sgript fsmonitor-watchman, gan ddarparu integreiddio â'r mecanwaith Gwyliwr Facebook i gyflymu'r broses o olrhain newidiadau ffeil ac ymddangosiad ffeiliau newydd. Ar ôl diweddaru git yn ofynnol disodli bachyn yn yr ystorfa.
Ychwanegwyd optimeiddiadau i gyflymu clonau rhannol wrth ddefnyddio mapiau didau
(peiriannau didfap) i osgoi chwiliad cyflawn o'r holl wrthrychau wrth hidlo'r allbwn. Mae gwirio am smotiau ( —filter=blob: dim a —filter=blob:limit=n) yn ystod clonio rhannol bellach yn cael ei berfformio
yn sylweddol gyflymach. Cyhoeddodd GitHub glytiau gyda'r optimeiddiadau hyn a chefnogaeth arbrofol ar gyfer clonio rhannol.
Mae'r gorchymyn "git rebase" wedi'i symud i gefnlen wahanol, gan ddefnyddio'r mecanwaith 'uno' rhagosodedig (a ddefnyddiwyd yn flaenorol ar gyfer "rebase -i") yn lle 'patch+apply'. Mae'r backends yn wahanol mewn rhai ffyrdd bach, er enghraifft, ar ôl parhau â gweithrediad ar ôl datrys gwrthdaro (git rebase --continue), mae'r ôl-ôl newydd yn cynnig golygu'r neges ymrwymo, tra bod yr hen un yn syml yn defnyddio'r hen neges. I ddychwelyd i'r hen ymddygiad, gallwch ddefnyddio'r opsiwn "--apply" neu osod y newidyn cyfluniad 'rebase.backend' i 'gwneud cais'.
Mae enghraifft o driniwr ar gyfer paramedrau dilysu a nodir trwy .netrc wedi'i leihau i ffurf sy'n addas i'w ddefnyddio allan o'r blwch.
Ychwanegwyd y gosodiad gpg.minTrustLevel i osod y lefel ymddiriedaeth isaf ar gyfer gwahanol elfennau sy'n cyflawni dilysu llofnod digidol.
Ychwanegwyd opsiwn "--pathspec-from-file" i "git rm" a "git stash".
Parhawyd i wella ystafelloedd prawf wrth baratoi ar gyfer y newid i algorithm stwnsio SHA-2 yn lle SHA-1.