Tso tawm qhov kev faib tawm tswj qhov system Git 2.24

Muaj tso tawm qhov faib qhov chaw tswj qhov system Git 2.24.0. Git yog ib qho ntawm cov neeg nyiam tshaj plaws, txhim khu kev qha, thiab kev ua tau zoo tshaj plaws kev tswj hwm cov tshuab uas muab cov cuab yeej hloov kho tsis yog kab tawm raws li cov ceg ntoo thiab kev sib koom ua ke. Txhawm rau kom ntseeg tau qhov kev ncaj ncees ntawm keeb kwm thiab kev tiv thaiv rau cov kev hloov pauv rov qab, cuam tshuam rau tag nrho cov keeb kwm yav dhau los hauv txhua qhov kev cog lus raug siv, nws tseem tuaj yeem txheeb xyuas cov cim npe ntawm tus kheej thiab cog lus nrog cov kos npe digital los ntawm cov tsim tawm.

Piv nrog rau qhov kev tso tawm dhau los, cov ntawv tshiab suav nrog 544 qhov kev hloov pauv, npaj nrog kev koom tes ntawm 78 tus tsim tawm, ntawm 21 tau koom nrog kev txhim kho thawj zaug. ntsiab kev tsim kho tshiab:

  • Ntxiv kev txhawb nqa rau configuration macro, los ntawm qhov uas koj tuaj yeem hloov pauv sai ntawm cov teeb tsa sib txawv yam tsis tau mus rau hauv kev nthuav dav txog cov kev xaiv tshwj xeeb cuam tshuam nrog lawv. Nrog kev pab los ntawm macros, tsis tas yuav nco ntsoov qhov chaw yuav tsum tau hloov pauv kom qhib qhov no lossis qhov ua haujlwm ntawd. Piv txwv li, yog tias lub chaw khaws ntaub ntawv loj qeeb, koj yuav xav hloov mus rau lub cav tshiab indexing, pab txoj hauv kev ua ntej compression, thiab pab kom cov ntaub ntawv tsis raug kaw los ntawm kev teeb tsa index.version rau 4 thiab ua kom core.untrackedCache. Macros tso cai rau koj tsis txhob nkim sij hawm tshawb nrhiav qhov kev daws teeb meem hauv cov ntaub ntawv, tab sis kom qhib qhov chaw tam sim nrog kev ua kom zoo rau cov chaw khaws ntaub ntawv nrog ntau cov ntaub ntawv:

    git config feature.manyFiles muaj tseeb

  • Enabled los ntawm lub neej ntawd yog qhov khaws cia ntawm cov khoom nyob rau hauv daim ntawv cog lus graph (commit-graph), uas tsis yog ib tug linear daim ntawv teev cov hashes ntawm cov khoom nrog txuas mus rau lwm yam khoom, tab sis ib tug qauv nyob rau hauv daim ntawv ntawm ib daim duab yog siv rau indexing. . Yog tias yav dhau los, txhawm rau txiav txim siab qhov kev tshaj tawm uas muaj qee qhov kev txhim kho, nws yog qhov yuav tsum tau thauj khoom txhua yam khoom los ntawm disk mus nrhiav cov kev sib txuas, tom qab ntawd thaum khaws cia hauv daim duab, koj tuaj yeem txiav txim siab tam sim ntawd tag nrho cov kev sib txuas tsim nyog. Hloov mus rau kev khaws cia hauv daim ntawv cog lus cog lus hauv Linux kernel thiab Git repositories tso cai rau peb kom ua tiav yuav luag ob npaug ntawm kev ua haujlwm ntawm kev ua haujlwm nrog cov ceg. Txhawm rau qhib txoj kev khaws cia tshiab tom qab hloov kho mus rau Git 2.24, koj yuav tsum khiav cov lus txib "git gc".

    Ntawm cov kev hloov pauv cuam tshuam nrog kev cog lus-graph, peb kuj tseem nco ntsoov tias kev ua haujlwm ntawm kev ua haujlwm nce qib hauv cov lus txib-graph-hais lus txib ("git commit-graph write", "git commit-graph verify", thiab lwm yam) tau raug coj los. rau ib daim ntawv uas muaj lwm yam commands..). Qhov taw qhia kev nce qib tam sim no tsuas yog tso tawm rau lub davhlau ya nyob twg los ntawm lub neej ntawd (siv qhov "-[tsis-] kev nce qib" kev xaiv los hloov tus cwj pwm). Tsis tas li ntawd, ib qho tshiab configuration parameter fetch.writeCommitGraph tau raug ntxiv, uas ua rau tsis siv neeg hloov kho cov ntaub ntawv nrog cov duab kos thaum lub sijhawm ua haujlwm "git fetch" (txhua qhov kev cog lus tau muab los ntawm cov chaw khaws khoom sab nraud yuav tam sim ntawd mus rau qhov kev cog lus-graph yam tsis tas yuav tsum tau ua. khiav auto-gc nyias);

  • Ntxiv cov lus txib los sau cov keeb kwm hloov pauv - "git lim-repo", uas yog lwm txoj hauv kev yooj yim rau cov lus txib"git lim-qebΒ» txhawm rau ua haujlwm ntawm keeb kwm ntawm kev hloov pauv hauv qhov chaw khaws cia (piv txwv li, tshem tawm cov ntaub ntawv los ntawm qhov chaw cia lossis khaws cov keeb kwm ntawm kev hloov pauv mus rau cov npe tshwj xeeb). Txhawm rau txhim kho kev ua tau zoo, tsis yog kev txiav txim siab-los ntawm-kev sib cais, git lim-repo ua haujlwm ntawm keeb kwm sawv cev hauv daim ntawv txuas mus ntxiv.

    Kev lim dej keeb kwm yog ua los ntawm kev siv "-path-{glob, regex}" kev xaiv, uas tso cai rau koj siv ob lub qhov ncauj qhov ntswg thiab cov lus qhia tsis tu ncua. Kuj tseem muaj kev xaiv los ua kev tshawb nrhiav thiab hloov lossis ntxuav cov khoom binary uas loj dua li qhov loj me. Txhua qhov kev cog lus rov sau dua tau muab nrog tus cim SHA-1 hash tshiab thiab txhua qhov kev xa mus rau qhov hloov pauv tau hloov kho raws li tus lej tshiab.

    Txhawm rau tso saib cov ntsiab lus ntawm cov txheeb cais txog qhov chaw cia khoom (ntau ntawm cov khoom los ntawm hom, cov ntaub ntawv loj tshaj plaws thiab cov npe, uas txuas ntxiv xav tau ntau qhov chaw disk, thiab lwm yam), qhov kev xaiv "-analyze" yog muab. Txhawm rau nthuav dav cov haujlwm, nws muaj peev xwm txuas cov neeg ua haujlwm hu xov tooj tsis raug cai hauv Python, los ntawm qhov uas koj tuaj yeem tsim cov lus txib tshiab thiab ua ntau yam xwm txheej (piv txwv li, hom ntaub ntawv tshiab);

  • Ntxiv "--end-of-options" kev xaiv los cais cov kev xaiv los ntawm cov npe txuas, uas tuaj yeem pib nrog "-" cim thiab raug kho raws li kev xaiv ("git log --end-of-options -super-dangerous-option" ). Yog tias nyob rau hauv lub neej niaj hnub xws li cov npe tuaj yeem raug dim li "git log 'refs/heads/-super-dangerous-option'", ces cov ntawv sau tuaj yeem muaj teeb meem txhais lub npe. Qhov kev lees paub dav dav "-" tsis siv rau qhov no, vim nws twb tau siv los cais cov npe txuas ntawm cov ntaub ntawv (piv txwv li, "git log -end-of-options -super-dangerous-option ^master - path/to /file");
  • Ntxiv "--strategy" thiab "--strategy-option" kev xaiv rau "git rebase --rebase-merges" xaiv cov tswv yim sib koom ua ke;
  • Ntxiv tus tshiab ".git/hooks/pre-merge-commit" handler uas yog hu ua tom qab kev sib koom ua tiav tab sis ua ntej qhov kev cog lus tau sau;
  • Kev them nyiaj yug rau ua kom tiav configuration variables nyob rau hauv relation mus rau cov kev teeb tsa ntawm cov lus txib tshwj xeeb tau ntxiv rau lub cav ua tiav cov lus txib.
    Piv txwv li, yog tias koj xav tau ntaus "git -c core.autocrlf = cuav ntxiv path/to/my/file" tab sis tsis nco qab lub npe tseeb ntawm "core.autocrlf" hloov pauv, koj tuaj yeem nias Tab thiab tau txais lus qhia.

Tsis tas li ntawd, Git developers ntxiv txoj cai ntawm kev coj ua rau tus neeg koom tes ua haujlwm, uas txhais cov ntsiab lus tseem ceeb rau kev daws qhov teeb meem tsis sib haum xeeb. Cov ntaub ntawv yog raws li cov lus pom zoo "Pab Koom Tes Covenant", siv ntau qhov chaw qhib, suav nrog Linux ntsiav, dab noj hnub, Freedesktop, GitLab, Ruby thiab Kubernetes. Cov ntaub ntawv qhia txog kev muaj vaj huam sib luag rau txhua tus neeg koom, tsis hais lawv lub ntiaj teb saib, hnub nyoog, poj niam los txiv neej, nyiam kev ntseeg, qib kev kawm, kev sib raug zoo thiab haiv neeg. Lub zej zog zoo siab txais tos ib qho kev sib txuas lus zoo, kev nkag siab, kev nkag siab txog cov teeb meem ntawm lwm tus neeg koom, lees txais kev thuam, thiab txiav txim siab zoo tshaj plaws rau tag nrho lub zej zog. Trolling, kev sib txuas lus tsis txaus ntseeg, sim ua kom txaj muag, thab plaub, ua txhaum cai ntiag tug, nthuav tawm cov ntaub ntawv ntiag tug, thiab lwm yam kev ua uas yuav suav tias tsis tsim nyog rau kev sib txuas lus hauv kev tshaj lij tsis raug tso cai.

Tau qhov twg los: opennet.ru

Ntxiv ib saib