Itusilẹ ti eto iṣakoso orisun pinpin Git 2.26

Wa itusilẹ ti eto iṣakoso orisun pinpin git 2.26.0. Git jẹ ọkan ninu olokiki julọ, igbẹkẹle, ati awọn eto iṣakoso ẹya ti o ga julọ ti o pese awọn irinṣẹ idagbasoke ti kii ṣe laini ti o da lori awọn ẹka ẹka ati apapọ awọn ẹka. Lati rii daju iduroṣinṣin ti itan-akọọlẹ ati atako si awọn ayipada ifẹhinti, hashing ti gbogbo itan iṣaaju ninu ifaramọ kọọkan ni a lo, o tun ṣee ṣe lati rii daju awọn afi ẹni kọọkan ati ṣe pẹlu awọn ibuwọlu oni nọmba lati ọdọ awọn olupilẹṣẹ.

Ti a ṣe afiwe si itusilẹ ti tẹlẹ, awọn ayipada 504 ni a gba sinu ẹya tuntun, ti a pese sile pẹlu ikopa ti awọn olupilẹṣẹ 64, eyiti 12 ṣe alabapin ninu idagbasoke fun igba akọkọ. akọkọ awọn imotuntun:

  • Aiyipada ti yipada si keji ti ikede Ilana ibaraẹnisọrọ Git, eyiti o jẹ lilo nigbati alabara kan sopọ latọna jijin si olupin Git kan. Ẹya keji ti ilana naa jẹ ohun akiyesi fun ipese agbara lati ṣe àlẹmọ awọn ẹka ati awọn afi lori ẹgbẹ olupin, pada atokọ kukuru ti awọn ọna asopọ si alabara. Ni iṣaaju, eyikeyi pipaṣẹ fa yoo firanṣẹ alabara nigbagbogbo ni atokọ kikun ti awọn itọkasi ni gbogbo ibi ipamọ, paapaa nigba ti alabara n ṣe imudojuiwọn ẹka kan nikan tabi ṣayẹwo pe ẹda ibi-ipamọ wọn wa titi di oni. Ilọtuntun pataki miiran ni agbara lati ṣafikun awọn agbara tuntun si ilana naa bi iṣẹ ṣiṣe tuntun ṣe wa ninu ohun elo irinṣẹ. Koodu onibara wa ni ibamu pẹlu ilana atijọ ati pe o le tẹsiwaju lati ṣiṣẹ pẹlu awọn olupin titun ati atijọ, ti o ṣubu laifọwọyi pada si ẹya akọkọ ti olupin ko ba ṣe atilẹyin keji.
  • Aṣayan “-show-scope” ti ṣafikun aṣẹ “git config”, ṣiṣe ki o rọrun lati ṣe idanimọ aaye nibiti awọn eto kan ti ṣalaye. Git gba ọ laaye lati ṣalaye awọn eto ni awọn aaye oriṣiriṣi: ni ibi ipamọ (.git/info/config), ninu itọsọna olumulo (~/.gitconfig), ninu faili iṣeto jakejado eto (/etc/gitconfig), ati nipasẹ aṣẹ awọn aṣayan ila ati awọn oniyipada ayika. Nigbati o ba n ṣiṣẹ “git konfigi” o nira pupọ lati loye ibiti o ti ṣalaye deede eto ti o fẹ. Lati yanju iṣoro yii, aṣayan “-show-origin” wa, ṣugbọn o fihan ọna nikan si faili ninu eyiti eto ti ṣalaye, eyiti o wulo ti o ba pinnu lati ṣatunkọ faili naa, ṣugbọn ko ṣe iranlọwọ ti o ba nilo lati yi iye pada nipasẹ “git config” ni lilo awọn aṣayan “--system”, “-global” tabi “-local”. Aṣayan tuntun "--show-scope" ṣe afihan ipo asọye oniyipada ati pe o le ṣee lo ni apapo pẹlu -show-origin:

    $ git --akojọ --show-scope --ifihan-ipilẹṣẹ
    agbaye faili:/home/user/.gitconfig diff.interhunkcontext=1
    agbaye faili:/home/user/.gitconfig push.default=lọwọlọwọ
    […] 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.*'
    agbaye iyato.statgraphiwọn 35
    local diff.colormoved pẹtẹlẹ

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

  • Ni awọn eto abuda awọn iwe-ẹri Lilo awọn iboju iparada ni URL jẹ idasilẹ. Eyikeyi awọn eto HTTP ati awọn iwe-ẹri ni Git ni a le ṣeto mejeeji fun gbogbo awọn asopọ (http.extraHeader, credential.helper) ati fun awọn asopọ ti o da lori URL (ẹri.https://example.com.helper, credential.https: //example. com.oluranlọwọ). Titi di isisiyi, awọn kaadi egan bii *.example.com ni a gba laaye fun awọn eto HTTP nikan, ṣugbọn wọn ko ṣe atilẹyin fun isọdọmọ ẹrí. Ni Git 2.26, awọn iyatọ wọnyi ti parẹ ati, fun apẹẹrẹ, lati di orukọ olumulo kan si gbogbo awọn subdomains o le sọ pato:

    [ẹri "https://*.example.com"]

    orukọ olumulo = taylorr

  • Imugboroosi ti atilẹyin esiperimenta fun cloning apa kan (awọn ere ibeji apakan) tẹsiwaju, gbigba ọ laaye lati gbe apakan kan ti data naa ki o ṣiṣẹ pẹlu ẹda pipe ti ibi-ipamọ. Itusilẹ tuntun ṣafikun aṣẹ tuntun “git sparse-checkout add”, eyiti o fun ọ laaye lati ṣafikun awọn ilana kọọkan lati lo iṣẹ “ṣayẹwo” si apakan nikan ti igi iṣẹ, dipo kikojọ gbogbo iru awọn ilana ni ẹẹkan nipasẹ aṣẹ “git” Eto isanwo fọnka” (o le ṣafikun ọkan nipasẹ ọkan liana, laisi atunto gbogbo atokọ ni akoko kọọkan).
    Fun apẹẹrẹ, lati ṣe ẹda ibi ipamọ git/git laisi ṣiṣe awọn bulọọki, ni opin isanwo si ilana ipilẹ ti ẹda iṣẹ nikan, ati isanwo isamisi lọtọ fun awọn ilana “t” ati “Iwe-iwe”, o le pato:

    $ git clone --filter=blob: kò sí --sparse [imeeli ni idaabobo]:git/git.git

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

    $ git sparse-checkout fi t
    ....
    $ git sparse-checkout ṣafikun Iwe
    ....
    $ git fọnka-isanwo akojọ
    Documentation
    t

  • Iṣe ti aṣẹ “git grep”, ti a lo lati wa mejeeji awọn akoonu lọwọlọwọ ti ibi ipamọ ati awọn atunyẹwo itan, ti ni ilọsiwaju ni pataki. Lati yara wiwa, o ṣee ṣe lati ṣe ọlọjẹ awọn akoonu inu igi ti n ṣiṣẹ ni lilo awọn okun pupọ (“git grep –threads”), ṣugbọn wiwa ninu awọn atunyẹwo itan jẹ atẹrin kan. Bayi a ti yọ aropin yii kuro nipa imuse agbara lati ṣe afiwe awọn iṣẹ kika lati ibi ipamọ ohun. Nipa aiyipada, nọmba awọn okun ti ṣeto dogba si nọmba awọn ohun kohun Sipiyu, eyiti ni ọpọlọpọ awọn ọran ni bayi ko nilo ṣeto ni gbangba aṣayan “-threads”.
  • Atilẹyin ti a ṣafikun fun adaṣe adaṣe ti igbewọle ti awọn aṣẹ abẹlẹ, awọn ọna, awọn ọna asopọ ati awọn ariyanjiyan miiran ti aṣẹ “git worktree”, eyiti o fun ọ laaye lati ṣiṣẹ pẹlu ọpọlọpọ awọn adakọ ṣiṣẹ ti ibi ipamọ.
  • Atilẹyin ti a ṣafikun fun awọn awọ didan ti o ni awọn ọna abayo ANSI. Fun apẹẹrẹ, ninu awọn eto fun saami awọn awọ “git config –color” tabi “git diff –color-moved” o le pato “% C(brightblue)” nipasẹ aṣayan “--kika” fun buluu didan.
  • Ti ṣafikun ẹya tuntun ti iwe afọwọkọ fsmonitor-oluṣọ, pese Integration pẹlu awọn siseto Facebook Oluṣọ lati mu yara titele awọn ayipada faili ati hihan awọn faili titun. Lẹhin imudojuiwọn git nilo rọpo kio ni ibi ipamọ.
  • Awọn iṣapeye ti a ṣafikun lati yara awọn ere ibeji apa kan nigba lilo awọn bitmaps
    (ẹrọ bitmap) lati yago fun wiwa pipe ti gbogbo awọn nkan nigba sisẹ iṣẹjade. Ṣiṣayẹwo fun blobs (—filter=blob: ko si ati —filter=blob:limit=n) lakoko ti cloning apa kan jẹ ṣiṣe ni bayi
    significantly yiyara. GitHub kede awọn abulẹ pẹlu awọn iṣapeye wọnyi ati atilẹyin esiperimenta fun cloning apa kan.

  • Aṣẹ “git rebase” ti gbe lọ si ẹhin ti o yatọ, ni lilo ẹrọ ‘dapọ’ aiyipada (ti a lo tẹlẹ fun “rebase -i”) dipo 'patch+apply'. Awọn ẹhin ẹhin yatọ ni diẹ ninu awọn ọna kekere, fun apẹẹrẹ, lẹhin ti o tẹsiwaju iṣẹ kan lẹhin ipinnu rogbodiyan (git rebase - tẹsiwaju), ẹhin tuntun nfunni lati satunkọ ifiranṣẹ ifarabalẹ, lakoko ti atijọ kan lo ifiranṣẹ atijọ. Lati pada si ihuwasi atijọ, o le lo aṣayan "--apply" tabi ṣeto oniyipada atunto 'rebase.backend' si 'waye'.
  • Apeere ti oluṣakoso fun awọn aye ijẹrisi ti a sọ nipasẹ .netrc ti dinku si fọọmu ti o yẹ fun lilo jade kuro ninu apoti.
  • Ṣe afikun eto gpg.minTrustLevel lati ṣeto ipele igbẹkẹle ti o kere julọ fun awọn eroja oriṣiriṣi ti o ṣe ijẹrisi ibuwọlu oni nọmba.
  • Ṣe afikun aṣayan "--pathspec-from-faili" si "git rm" ati "git stash".
  • Ilọsiwaju ti awọn suites idanwo tẹsiwaju ni igbaradi fun iyipada si SHA-2 hashing algorithm dipo SHA-1.

orisun: opennet.ru

Fi ọrọìwòye kun