Tso tawm qhov kev faib tawm tswj qhov system Git 2.22

Xa los ntawm tso tawm qhov faib qhov chaw tswj qhov system Git 2.22.0. Git yog ib qho ntawm cov neeg nyiam tshaj plaws, txhim khu kev qha thiab kev ua tau zoo ntawm kev tswj hwm kev tswj hwm, muab cov cuab yeej hloov kho uas tsis yog-linear txhim kho raws li cov ceg thiab kev sib koom ua ke. Txhawm rau kom ntseeg tau tias kev ncaj ncees ntawm keeb kwm thiab kev tawm tsam rau cov kev hloov pauv rov qab, qhov cuam tshuam cuam tshuam ntawm tag nrho cov keeb kwm yav dhau los hauv txhua qhov kev cog lus raug siv, thiab nws tseem muaj peev xwm lees paub cov cim npe thiab cog lus nrog cov kos npe digital ntawm cov neeg tsim khoom.

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

  • Muaj txij li thaum tso tawm 1.18, qhov kev cog lus tshiab rebase hom "git rebase --rebase-merges" hloov qhov qub "--preserve-merges" kev xaiv, uas tam sim no deprecated. Kev ua haujlwm "git rebase" yog siv los hloov cov kev cog lus nrog lub hauv paus tshiab, piv txwv li, txav ib ceg cais uas tab tom tsim qee yam tshiab rau lub xeev tam sim no ntawm tus tswv ceg, uas suav nrog kev kho ntxiv tom qab ceg. :

    o - o - o (kuv-feature)

    /

    o - o - o - o - o (master)

    o - o - o (kuv-feature)

    /

    o - o - o - o - o (master)

    Txhawm rau khaws cov ceg ntoo hauv cov ceg tsiv teb tsaws, qhov kev xaiv "--preserve-merges" yav dhau los siv tau, uas, thaum khiav hauv kev sib tham sib (git rebase -i --preserve-merges), tso cai kho cov ntaub ntawv keeb kwm, tab sis tsis tau lees tias ua tiav kev khaws cia ntawm cov qauv repository. Tus tshiab "--rebase-merges" hom tso cai rau koj khaws cov qauv ntawm cov kev hloov pauv hauv cov ceg uas tau tsiv teb tsaws, thaum muab ntau yam kev sib tham sib ua haujlwm, suav nrog kev tshem tawm, rov ua pawg thiab hloov npe ua haujlwm.

    Piv txwv li, "--rebase-merges" nws tso cai rau re-upload commits los ntawm ib tug nyias muaj nyias ib ceg mus rau ib tug tshiab master ceg, thaum tuav lub ceg qauv nyob rau hauv lub migrated ceg, thiab ua ib co kev hloov rau cov lus cog tseg ntawm ya.

  • Ntxiv kev txhawb nqa rau kev tsim ib ceg tshiab raws li qhov tshwm sim ntawm kev txiav txim siab kev sib koom ua ke ntawm ob ceg ntoo (merge puag, khi rau ib tus poj koob yawm txwv) siv cov kev tsim kho "git ceg tshiab A...B" thiab "git checkout -b tshiab A ...B ", nyob rau hauv uas "A ... ..B” qhia txog kev hloov pauv ntawm kev cog lus β€œB” thiab tib yam li cog lus β€œA” β€œTxiv Neej.

    Piv txwv li, thaum ua hauj lwm nyob rau hauv ib tug cais kuv-feature ceg, qhov no feature yuav siv tau thaum koj xav pib los ntawm ib tug txawv ceg, piv txwv li, los ntawm tib qhov chaw nyob rau hauv lub tswv ceg los ntawm uas kuv-feature ceg raug kuaj tawm. Yav dhau los, qhov no yuav tsum tau manually tshuaj xyuas lub log hloov, uas yog qhov tsis yooj yim yog tias koj muaj keeb kwm loj ntawm kev hloov pauv, ces khiav "git merge-base master my-feature" los xam cov hash ntawm merge puag ntawm tus tswv thiab kuv-feature ceg. thiab tsim ib ceg tshiab txheeb ze rau cov poj koob yawm txwv "git ceg kuv-lwm-feature hash." Hauv Git 2.22, koj tuaj yeem siv cov syntax "git ceg kuv-lwm-feature A...B" los tsim ib ceg txheeb ze rau kev sib koom ua ke ntawm ob ceg;

  • Ntxiv "git ceg --show-tam sim no" kev xaiv los tso saib lub npe ntawm ceg tau txais thaum lub sijhawm ua haujlwm;
  • Ntxiv qhov "git checkout - tsis muaj-overlay - dir" kev xaiv, uas tso cai rau, thaum ua haujlwm ntawm lub checkout, coj cov ntsiab lus ntawm dir directory mus rau ib daim ntawv uas sib haum mus rau lub xeev ntawm tus tswv ceg. Piv txwv li, yog tias muaj cov ntaub ntawv nyob rau hauv lub zos daim ntawv luam ntawm dir directory uas tsis yog nyob rau hauv lub tswv ceg, ces los ntawm lub neej ntawd thaum executing "git checkout master - dir" nws yuav tsum sab laug, thiab yog hais tias tus "--tsis muaj-overlay. ” kev xaiv tau teev tseg, nws yuav raug muab tshem tawm;
  • Cov lus txib "git diff" siv universal API rau parsing xaiv, uas ua rau nws muaj peev xwm mus koom kev xaiv tuav nrog lwm yam git utilities. Piv txwv li, hauv "git diff", tag nrho cov kev xaiv tam sim no muaj lawv cov antagonists ("--function-context" thiab "--tsis muaj nuj nqi- ntsiab lus");
  • Ntxiv lub peev xwm los lim cov cim txuas ntxiv txuas nrog rau kev cog lus hauv "git log" tso zis ("trailer" - cov ntaub ntawv ntxiv chij, xws li Kos npe-tawm-los ntawm thiab Co-authored-los ntawm). Nws muaj peev xwm lim cov ntawv los ntawm ob qho tseem ceeb thiab tus nqi, piv txwv li:
    "git log --pretty="%(trailers:key=Reviewed-by,valueonly)";

  • Lub cav tracing tshiab, Trace2, tau raug ntxiv, muab cov qauv tso zis ntau dua thiab tsim qauv. Trace2 tso cai rau koj los sau telemetry txog kev ua haujlwm thiab cov ntaub ntawv ua haujlwm kom ntxaws ntxiv thiab kev debugging (tus tuav yog muab los ntawm tus neeg siv, tsis muaj cov ntaub ntawv xa mus rau sab nraud);
  • Daim ntawv tshaj tawm "git bisect" tau ua kom nyeem tau ntau dua, uas tam sim no cov teeb meem kev cog lus tau qhia meej dua thiab cov ntsiab lus ntawm cov kev hloov pauv rau txhua cov ntaub ntawv tau tshwm sim (nyob rau theem ntawm cov kab hloov pauv);
  • Lub heuristics rau kev txiav txim cov npe renamings tau rov ua haujlwm kom tshem tawm cov kev teeb tsa cuav ntawm kev hloov npe cov ntawv. Thaum tsis ntseeg, cov ntawv teev npe tam sim no tau cim tias tsis sib haum;
  • Cov lus ceeb toom tau tshwm sim thaum koj sim nruab ib lub cim rau ntawm lwm lub cim, uas feem ntau ua yuam kev thiab tuaj yeem ua rau teeb tsa lub cim rau ntawm qhov tsis ncaj ncees lawm (piv txwv li, kev tsim kho xws li "git tag -f -m "cov lus hloov tshiab" my-tag1 my-tag2β€³ yuav ua rau ib daim ntawv tsim rau ntawm daim ntawv qub, whereas tus tsim tawm xav kom cov ntawv tshiab yuav tsum tau muab tso rau ntawm qhov kev cog lus taw qhia los ntawm daim ntawv qub);
  • Generation yog enabled rau bitmap repositories (disk-raws li "reachability bitmaps" qauv), uas khaws cov ntaub ntawv hais txog pawg ntawm cov khoom muaj nyob rau txhua qhov kev cog lus thiab tso cai rau koj los txiav txim sai sai ntawm lub xub ntiag ntawm lub hauv paus khoom. Cov qauv no txo ​​qis lub sijhawm ua haujlwm ntawm cov ntaub ntawv rov qab ua haujlwm (git fetch).

Tau qhov twg los: opennet.ru

Ntxiv ib saib