Ho lokolloa ha sistimi e ajoang ea taolo ea mohloli Git 2.26

Fumaneha ho lokolloa ha mokhoa oa ho laola mohloli o ajoang git 2.26.0. Git ke e 'ngoe ea litsamaiso tse tsebahalang haholo, tse tšepahalang le tse sebetsang hantle haholo, tse fanang ka lisebelisoa tse feto-fetohang tsa nts'etsopele tse se nang moeli tse ipapisitseng le makala le ho kopanya. Ho netefatsa bonnete ba nalane le ho hanana le liphetoho tsa morao-rao, ho sebelisoa hashing e felletseng ea nalane eohle e fetileng boitlamo bo bong le bo bong, hape hoa khoneha ho netefatsa li-tag le boitlamo ka li-signature tsa dijithale tsa bahlahisi.

Ha ho bapisoa le tokollo e fetileng, phetolelo e ncha e kenyelelitse liphetoho tse 504, tse lokiselitsoeng ka ho kenya letsoho ha baetsi ba 64, bao 12 ba ileng ba kenya letsoho ntlafatsong ka lekhetlo la pele. ka sehloohong boiqapelo:

  • Ea kamehla e fetoletsoe ho phetolelo ea bobeli Git communication protocol, e sebelisoang ha moreki a hokela hole le seva sa Git. Phetolelo ea bobeli ea protocol e hlokomeleha ka ho fana ka bokhoni ba ho sefa makala le li-tag ka lehlakoreng la seva, ho khutlisetsa lenane le khutsufalitsoeng la lihokelo ho moreki. Pejana, taelo efe kapa efe ea ho hula e ne e lula e romella moreki lethathamo le felletseng la litšupiso sebakeng sa polokelo eohle, leha moreki a ntse a nchafatsa lekala le le leng feela kapa a sheba hore kopi ea polokelo ea bona e ntse e le teng. Ntho e 'ngoe e ncha e hlokomelehang ke bokhoni ba ho eketsa bokhoni bo bocha ho protocol ha ts'ebetso e ncha e ntse e fumaneha ka har'a lisebelisoa tsa lisebelisoa. Khoutu ea bareki e lula e lumellana le protocol ea khale 'me e ka tsoela pele ho sebetsa le li-server tse ncha le tsa khale, e iphumana e khutlela phetolelong ea pele haeba seva e sa tšehetse ea bobeli.
  • Khetho ea "-show-scope" e kenyellelitsoe taelong ea "git config", e nolofalletsang ho tseba sebaka seo litlhophiso tse ling li hlalosoang ho sona. Git e u lumella ho hlalosa litlhophiso libakeng tse fapaneng: sebakeng sa polokelo (.git/info/config), bukeng ea mosebelisi (~/.gitconfig), faeleng ea tlhophiso ea sistimi e pharaletseng (/etc/gitconfig), le ka taelo. dikgetho tsa mela le mefuta e fapaneng ya tikoloho. Ha o etsa "git config" ho thata haholo ho utloisisa hore na tlhophiso e batloang e hlalosoa hokae. Ho rarolla bothata bona, khetho ea "--show-origin" e ne e le teng, empa e bonts'a feela tsela e eang faeleng eo tlhophiso e hlalositsoeng ho eona, e leng molemo haeba u ikemiselitse ho hlophisa faele, empa ha e thuse haeba hloka ho fetola boleng ka "git config" u sebelisa likhetho "--system", "-global" kapa "-local". Khetho e ncha "--show-scope" e bonts'a moelelo oa tlhaloso e fapaneng 'me e ka sebelisoa hammoho le -show-origin:

    $ git --lethathamo --show-scope --show-original
    faele ea lefats'e:/home/user/.gitconfig diff.interhunkcontext=1
    faele ea lefats'e:/home/user/.gitconfig push.default=current
    […] faele ea lehae:.git/config branch.master.remote=origin
    faele ea lehae:.git/config branch.master.merge=refs/heads/master

    $ git config --show-scope --get-regexp 'diff.*'
    global diff.statgraphwidth 35
    local diff.mmala o tlohile thota

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

  • Litlhophisong tse tlamang mangolo a bopaki Tšebeliso ea limaske ho URL e lumelletsoe. Litlhophiso life kapa life tsa HTTP le lintlha tsa netefatso ho Git li ka hlophisoa ka bobeli bakeng sa likhokahano tsohle (http.extraHeader, credential.helper) le bakeng sa likhokahano tse thehiloeng ho URL (credential.https://example.com.helper, credential.https: //example. com.mothusi). Ho fihlela joale, li-wildcards tse kang *.example.com li ne li lumelloa feela bakeng sa litlhophiso tsa HTTP, empa li ne li sa tšehetsoe bakeng sa ho tlama litokomane. Ho Git 2.26, liphapang tsena lia felisoa, 'me, mohlala, ho tlama lebitso la mosebelisi ho li-subdomain tsohle tseo joale u ka li hlalosang:

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

    username = ttaylorr

  • Katoloso ea ts'ehetso ea liteko bakeng sa cloning e sa fellang (li-clone tse sa fellang) e ntse e tsoela pele, e u lumella ho fetisetsa karolo feela ea data le ho sebetsa ka kopi e sa fellang ea polokelo. Phatlalatso e ncha e eketsa taelo e ncha "git sparse-checkout add", e u lumellang hore u kenye li-directory ka bomong ho sebelisa ts'ebetso ea "checkout" karolong feela ea sefate se sebetsang, ho e-na le ho thathamisa li-directory tse joalo ka nako e le 'ngoe ka taelo ea "git". sparse-checkout set" (o ka eketsa bukana e le 'ngoe, ntle le ho hlakisa lenane lohle nako le nako).
    Mohlala, ho kopanya polokelo ea git/git ntle le ho etsa li-blobs, ho beha moeli oa ho tsoa feela bukeng ea motso oa kopi e sebetsang, le ho tšoaea ka thoko ho tsoa bakeng sa li-directory tsa "t" le "Documentation", o ka hlakisa:

    $ git clone --filter=blob:ha ho letho --sparse [imeile e sirelelitsoe]:git/git.git

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

    $ git sparse-checkout eketsa t
    ....
    $ git sparse-checkout eketsa Litokomane
    ....
    $ git sparse-checkout lenane
    ditokomane
    t

  • Ts'ebetso ea taelo ea "git grep", e sebelisitsoeng ho batla litaba tsa hajoale tsa polokelo le litlhahlobo tsa nalane, e ntlafalitsoe haholo. E le ho potlakisa lipatlisiso, ho ne ho ka khoneha ho hlahloba se ka hare ho sefate se sebetsang ho sebelisa likhoele tse ngata ("git grep -threads"), empa lipatlisiso tsa litlhahlobo tsa histori li ne li e-na le khoele e le 'ngoe. Hona joale moeli ona o tlositsoe ka ho kenya ts'ebetsong bokhoni ba ho bapisa ts'ebetso ea ho bala ho tloha polokelong ea ntho. Ka ho sa feleng, palo ea likhoele e behiloe e lekana le palo ea li-CPU cores, tseo hangata li sa hlokeng ho beha khetho ea "-threads" ka ho hlaka.
  • Ts'ehetso e ekelitsoeng bakeng sa ho phethela ka boits'oaro ho li-subcommands, litsela, likhokahano le likhang tse ling tsa taelo ea "git worktree", e u lumellang ho sebetsa le likopi tse 'maloa tse sebetsang tsa polokelo.
  • Tšehetso e ekelitsoeng bakeng sa mebala e khanyang e nang le tatelano ea ho baleha ea ANSI. Ka mohlala, litlhophisong tsa mebala e hlakileng "git config -color" kapa "git diff -color-moved" u ka hlalosa "% C (brightblue)" ka khetho ea "--format" bakeng sa boputsoa bo khanyang.
  • E kentse mofuta o mocha oa script fsmonitor-seboholi, ho fana ka kopanyo le mochine Facebook Watchman ho potlakisa ho latedisa liphetoho tsa faele le ponahalo ya difaele tse ntjha. Ka mor'a ho ntlafatsa git ho hlokahala nka sebaka hokoe sebakeng sa polokelo.
  • Lintlafatso tse kentsoeng ho potlakisa li-clones tse sa fellang ha u sebelisa li-bitmaps
    (mochini oa bitmap) ho qoba ho batla ka botlalo lintho tsohle ha o sefa tlhahiso. Ho hlahloba li-blobs (-filter=blob:none le -filter=blob:limit=n) nakong ea cloning e sa fellang hona joale e se e etsoa.
    kapele haholo. GitHub e phatlalalitse li-patches ka lintlafatso tsena le tšehetso ea liteko bakeng sa cloning e sa fellang.

  • Taelo ea "git rebase" e fetiselitsoe ho backend e fapaneng, ho sebelisoa mochini oa kamehla oa 'merge' (oo pele o neng o sebelisoa bakeng sa "rebase -i") sebakeng sa 'patch+apply'. Li-backend li fapana ka litsela tse nyane, mohlala, kamora ho tsoela pele ka ts'ebetso kamora ho rarolla likhohlano (git rebase --continue), "backend" e ncha e fana ka ho hlophisa molaetsa oa boitlamo, athe ea khale e ne e sebelisa molaetsa oa khale feela. Ho khutlela boitšoarong ba khale, u ka sebelisa khetho ea "--apply" kapa ua seta 'rebase.backend' configuration variable to 'apply'.
  • Mohlala oa sets'oants'o sa liparamente tsa netefatso tse boletsoeng ka .netrc e fokotsoe ho ba foromo e loketseng ho sebelisoa ka ntle ho lebokose.
  • E kentse tlhophiso ea gpg.minTrustLevel ho beha boemo ba bonyane ba trust bakeng sa likarolo tse fapaneng tse etsang netefatso ea mesaeno ea dijithale.
  • E kentse khetho ea "--pathspec-from-file" ho "git rm" le "git stash".
  • Ntlafatso ea li-suites tsa liteko e ile ea tsoela pele ho lokisetsa phetoho ho SHA-2 hashing algorithm sebakeng sa SHA-1.

Source: opennet.ru

Eketsa ka tlhaloso