Hoʻokuʻu ʻia o ka ʻōnaehana mana kumu i hoʻolaha ʻia ʻo Git 2.26

Loaʻa hoʻokuʻu ʻia o ka ʻōnaehana hoʻomalu kumu hoʻolaha ʻO Git 2.26.0. ʻO Git kekahi o nā ʻōnaehana mana mana kaulana, hilinaʻi, a me ka hana kiʻekiʻe e hāʻawi ana i nā mea hana hoʻomohala non-linear maʻalahi e pili ana i ka lālā a me ka hui ʻana i nā lālā. No ka hōʻoia ʻana i ka pono o ka mōʻaukala a me ke kūʻē ʻana i nā hoʻololi retroactive, hoʻohana ʻia ka hashing implicit o ka mōʻaukala holoʻokoʻa i kēlā me kēia hana, hiki nō ke hōʻoia i nā hōʻailona pilikino a hana pū me nā pūlima kikohoʻe mai nā mea hoʻomohala.

Hoʻohālikelike ʻia me ka hoʻokuʻu mua ʻana, ua hoʻokomo ʻia ka mana hou i nā hoʻololi 504, i hoʻomākaukau ʻia me ke komo ʻana o nā mea hoʻomohala 64, a ʻo 12 i komo i ka hoʻomohala no ka manawa mua. ka papa kuhikuhiE nā mea hou:

  • Ua hoʻololi ʻia ka paʻamau i mana lua ʻO ka protocol kamaʻilio Git, i hoʻohana ʻia i ka wā e hoʻopili mamao aku ai kahi mea kūʻai aku i kahi kikowaena Git. ʻO ka ʻaoʻao ʻelua o ka protocol he mea kaulana no ka hāʻawi ʻana i ka hiki ke kānana i nā lālā a me nā hōʻailona ma ka ʻaoʻao kikowaena, e hoʻihoʻi ana i kahi papa inoa pōkole o nā loulou i ka mea kūʻai aku. Ma mua, e hoʻouna mau kekahi kauoha huki i ka mea kūʻai aku i ka papa inoa piha o nā kuhikuhi i loko o ka waihona holoʻokoʻa, ʻoiai ke hoʻonui wale nei ka mea kūʻai i hoʻokahi lālā a i ʻole ke nānā ʻana i kā lākou kope o ka waihona. ʻO kekahi mea hou kaulana ʻo ia ka hiki ke hoʻohui i nā mana hou i ka protocol i ka wā e loaʻa ai nā hana hou i ka hāmeʻa. Kūlike ka code client me ka protocol kahiko a hiki ke hoʻomau i ka hana me nā kikowaena hou a me nā mea kahiko, e hāʻule koke i ka mana mua inā ʻaʻole kākoʻo ke kikowaena i ka lua.
  • Ua hoʻohui ʻia ke koho "-show-scope" i ke kauoha "git config", e maʻalahi ke ʻike i kahi i wehewehe ʻia ai kekahi mau hoʻonohonoho. Hāʻawi ʻo Git iā ʻoe e wehewehe i nā hoʻonohonoho ma nā wahi like ʻole: ma ka waihona (.git/info/config), ma ka papa kuhikuhi mea hoʻohana (~/.gitconfig), ma ka faila hoʻonohonoho holoʻokoʻa (/etc/gitconfig), a ma o ke kauoha. nā koho laina a me nā loli kaiapuni. Ke hoʻokō nei i ka "git config" he paʻakikī ke hoʻomaopopo i kahi i wehewehe ʻia ai ka hoʻonohonoho makemake. No ka hoʻoponopono ʻana i kēia pilikia, ua loaʻa ke koho "--show-origin", akā hōʻike wale ia i ke ala i ka faila kahi i wehewehe ʻia ai ka hoʻonohonoho, he mea pono inā makemake ʻoe e hoʻoponopono i ka faila, akā ʻaʻole kōkua inā ʻoe. pono e hoʻololi i ka waiwai ma o "git config" me ka hoʻohana ʻana i nā koho "--system", "--global" a i ʻole "-local". ʻO ke koho hou "--show-scope" hōʻike i ka pōʻaiapili wehewehe wehewehe a hiki ke hoʻohana pū ʻia me -show-origin:

    $ git --list --show-scope --show-origin
    waihona honua:/home/user/.gitconfig diff.interhunkcontext=1
    waihona honua:/home/user/.gitconfig push.default=i kēia manawa
    [...] waihona kūloko:.git/config branch.master.remote=origin
    waihona kūloko:.git/config branch.master.merge=refs/heads/master

    $ git config --show-scope --get-regexp 'diff.*'
    global diff.statgraphwidth 35
    kūloko ʻokoʻa.colormoved pāpū

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

  • Ma nā hoʻonohonoho paʻa palapala hōʻoia Ua ʻae ʻia ka hoʻohana ʻana i nā masks ma nā URL. Hiki ke hoʻonohonoho ʻia nā hoʻonohonoho HTTP a me nā hōʻoia ma Git no nā pili āpau (http.extraHeader, credential.helper) a no nā pilina pili URL (credential.https://example.com.helper, credential.https: //example. com.kōkua). A hiki i kēia manawa, ua ʻae ʻia nā kāleka ʻāhiu e like me *.example.com no nā hoʻonohonoho HTTP, akā ʻaʻole i kākoʻo ʻia no ka hoʻopaʻa ʻana i ka hōʻoia. Ma Git 2.26, ua hoʻopau ʻia kēia mau ʻokoʻa a, no ka laʻana, e hoʻopaʻa i kahi inoa inoa i nā subdomain āpau hiki iā ʻoe ke kuhikuhi:

    [hōʻoia "https://*.example.com"]

    mea hoʻohana = ttaylorr

  • Ke hoʻomau nei ka hoʻonui ʻia ʻana o ke kākoʻo hoʻokolohua no ka cloning ʻāpana (partial clones), e ʻae iā ʻoe e hoʻoili i kahi hapa wale nō o ka ʻikepili a hana me kahi kope piha ʻole o ka waihona. Hoʻohui ka hoʻokuʻu hou i kahi kauoha hou "git sparse-checkout add", e hiki ai iā ʻoe ke hoʻohui i nā papa kuhikuhi pilikino e hoʻopili i ka hana "checkout" i kahi ʻāpana wale nō o ka lāʻau hana, ma kahi o ka papa inoa ʻana i kēlā mau papa kuhikuhi i ka manawa hoʻokahi ma o ke kauoha "git sparse-checkout set" (hiki iā ʻoe ke hoʻohui i kēlā me kēia papa kuhikuhi, me ka ʻole e hōʻike hou i ka papa inoa holoʻokoʻa i kēlā me kēia manawa).
    No ka laʻana, e hoʻopaʻa i kahi waihona git/git me ka ʻole o ka hana ʻana i nā blobs, e kaupalena ana i ka nānā ʻana i ka papa kuhikuhi kumu o ke kope hana, a me ka hoʻokaʻawale ʻana i ka checkout no nā papa kuhikuhi "t" a me "Documentation", hiki iā ʻoe ke kuhikuhi:

    $ git clone --filter=blob:ʻaʻohe --sparse [pale ʻia ka leka uila]:git/git.git

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

    $ git sparse-checkout hoʻohui t
    ....
    $ git sparse-checkout hoʻohui i ka palapala
    ....
    $ git papa inoa hoʻokaʻawale
    Ka moʻolelo
    t

  • Ua hoʻomaikaʻi maikaʻi ʻia ka hana o ke kauoha "git grep", i hoʻohana ʻia no ka ʻimi ʻana i nā mea i kēia manawa o ka waihona a me nā loiloi mōʻaukala. No ka wikiwiki i ka huli ʻana, ua hiki ke ʻimi i nā mea o ka lāʻau hana me ka hoʻohana ʻana i nā lola he nui ("git grep –threads"), akā ʻo ka huli ʻana i nā hoʻoponopono o ka mōʻaukala he kaula hoʻokahi. I kēia manawa ua wehe ʻia kēia palena ma ka hoʻokō ʻana i ka hiki ke hoʻohālikelike i nā hana heluhelu mai ka waihona mea. Ma ka maʻamau, ua hoʻonohonoho ʻia ka helu o nā kaula e like me ka helu o nā cores CPU, i ka nui o nā hihia i kēia manawa ʻaʻole pono e hoʻonohonoho pono i ke koho "-threads".
  • Hoʻohui kākoʻo no ka autocompletion o ke komo ʻana o nā subcommands, nā ala, nā loulou a me nā hoʻopaʻapaʻa ʻē aʻe o ke kauoha "git worktree", e hiki ai iā ʻoe ke hana me kekahi mau kope hana o ka waihona.
  • Kākoʻo hoʻohui ʻia no nā kala ʻālohilohi i loaʻa nā kaʻina pakele ANSI. No ka laʻana, i loko o nā hoʻonohonoho no nā kala koʻikoʻi "git config -color" a i ʻole "git diff -color-moved" hiki iā ʻoe ke kuhikuhi i ka "%C(brightblue)" ma o ke koho "--format" no ka uliuli ʻālohilohi.
  • Hoʻohui ʻia ka mana hou o ka palapala fsmonitor- kiai, hāʻawi i ka hoʻohui ʻana me ka mīkini Facebook Kiai e wikiwiki i ka nānā ʻana i nā loli faila a me ke ʻano o nā faila hou. Ma hope o ka hoʻonui ʻana i ka git pono hoololi hook ma ka waihona.
  • Hoʻohui ʻia nā optimizations e wikiwiki i nā clones hapa ke hoʻohana ʻana i nā bitmaps
    (mekini bitmap) e pale i ka huli piha ʻana i nā mea a pau ke kānana ʻana i ka hoʻopuka. Ke nānā ʻana i nā pōpō (—filter=blob:ʻaʻohe a me —filter=blob:limit=n) i ka wā o ka cloning hapa ke hana ʻia nei.
    ʻoi aku ka wikiwiki. Ua hoʻolaha ʻo GitHub i nā ʻāpana me kēia mau loiloi a me ke kākoʻo hoʻokolohua no ka cloning hapa.

  • Ua hoʻoneʻe ʻia ke kauoha "git rebase" i kahi ʻaoʻao ʻē aʻe, me ka hoʻohana ʻana i ke ʻano hana 'merge' (hoʻohana mua ʻia no "rebase -i") ma kahi o 'patch+apply'. ʻOkoʻa nā ʻaoʻao hope i kekahi mau ʻano liʻiliʻi, no ka laʻana, ma hope o ka hoʻomau ʻana i kahi hana ma hope o ka hoʻoponopono ʻana i kahi paio (git rebase --continue), hāʻawi ka backend hou e hoʻoponopono i ka memo commit, aʻo ka mea kahiko i hoʻohana wale i ka memo kahiko. No ka hoʻi ʻana i ka hana kahiko, hiki iā ʻoe ke hoʻohana i ke koho "--apply" a i ʻole e hoʻonoho i ka ʻano hoʻololi 'rebase.backend' i 'apply'.
  • ʻO kahi laʻana o kahi mea hoʻohana no nā ʻāpana hōʻoia i hōʻike ʻia ma o .netrc ua hoʻemi ʻia i kahi ʻano kūpono no ka hoʻohana ʻana ma waho o ka pahu.
  • Hoʻohui ʻia ka hoʻonohonoho gpg.minTrustLevel e hoʻonohonoho i ka pae hilinaʻi haʻahaʻa no nā mea like ʻole e hana ana i ka hōʻoia hōʻoia kikohoʻe.
  • Hoʻohui ʻia "--pathspec-from-file" koho i "git rm" a me "git stash".
  • Hoʻomau ka hoʻomaikaʻi ʻana i nā suites hoʻāʻo i ka hoʻomākaukau ʻana no ka hoʻololi ʻana i ka hashing algorithm SHA-2 ma kahi o SHA-1.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka