Kutulutsidwa kwa makina owongolera magwero a Git 2.25

Ipezeka kumasulidwa kwa distributed source control system Git 2.25.0. Git ndi imodzi mwazinthu zodziwika bwino, zodalirika, komanso zotsogola zotsogola zomwe zimapereka zida zachitukuko zosasinthika kutengera nthambi ndi kuphatikiza nthambi. Kuwonetsetsa kukhulupirika kwa mbiri yakale komanso kukana kusintha kwa "backdating", kubisa mbiri yonse yam'mbuyomu pakupanga kulikonse kumagwiritsidwa ntchito, ndizothekanso kutsimikizira ma tag amodzi ndikuchita ndi siginecha ya digito ya omwe akupanga.

Poyerekeza ndi kumasulidwa koyambirira, Baibulo latsopanoli linaphatikizapo kusintha kwa 583, kokonzedwa ndi kutenga nawo mbali kwa opanga 84, omwe 32 adatenga nawo gawo pa chitukuko kwa nthawi yoyamba. waukulu zatsopano:

  • Kuthekera kwapang'ono cloning ikuyandikira kukhazikika ndi kukonzekera kwathunthu, kukulolani kuti musinthe gawo lokha la deta ndikugwira ntchito ndi buku losakwanira la malo osungira. Clone wamba amakopera zonse kuchokera m'nkhokwe, kuphatikiza mtundu uliwonse wa fayilo yomwe yasintha. Kwa nkhokwe zazikulu kwambiri, kukopera deta kumabweretsa kuwonjezeka kwakukulu kwa magalimoto ndi malo a disk, ngakhale ngati wopangayo akungofuna kagawo kakang'ono ka mafayilo. Kuti zikhale zosavuta kupeza gawo lokha la mtengo womwe ukugwira ntchito, kumasulidwa kwatsopano kumabweretsa lamulo loyesera "sparse-checkout" ndi "--sparse" yatsopano ya lamulo la "clone".

    M'mbuyomu, njira yosankha cloning idachitika kudzera mu ntchitoyi zosefera kusefa zinthu zosafunikira ndi njira ya "-no-checkout" kuti mulepheretse kudzaza mafayilo omwe akusowa. Pambuyo pake, musanagwire ntchito yotuluka, kunali koyenera kuyatsa core.sparseCheckout zochunira ndikutanthauzira mndandanda wamayendedwe osaphatikizidwa mufayilo ya .git/info/sparse-checkout. Mwachitsanzo, kufananiza popanda mabulogu ndikuletsa mafayilo kuti asachotsedwe kumagawo akuya 2 kapena kupitilira apo, mutha kuthamanga:

    git clone --filter = blob: palibe --no-checkout / yanu/repository/pano repo
    $ cd repo
    $ mphaka >.git/info/sparse-checkout <EOF
    /*
    !/*
    EOF
    $ git config core.sparseCheckout 1
    $ git kutuluka.

    Lamulo latsopano la "git sparse-checkout" limathandizira kwambiri ntchito ndikuchepetsa njira yokonzekera ntchito yokhala ndi malo osakwanira ku malamulo otsatirawa:

    git clone --filter = blob: palibe --sparse / yanu / chosungira / apa repo
    git sparse-checkout set /path/to/check/out

    Lamulo la sparse-checkout limakupatsani mwayi wokhazikitsa mndandanda wamayendedwe otuluka (kukhazikitsa) popanda kukonza pamanja .git/info/sparse-checkout, komanso kuwonetsa mndandanda wamayendedwe (mndandanda) ndikuyatsa kapena kuletsa kubweza pang'ono (yambitsani / kuletsa).

    Kukhathamiritsa ntchito ndi nkhokwe zazikulu kwambiri ndi mindandanda yama templates, "git config core.sparseCheckoutCone", zomwe zimaletsa mapangidwe ololedwa (m'malo mwa .gitignore .gitignore mapatani, mutha kufotokoza ngati njira zonse ndi mafayilo onse mugawo laling'ono loperekedwa afufuzidwe). Mwachitsanzo, ngati chosungira chachikulu chili ndi chikwatu "A/B/C" ndipo ntchito yonse imayikidwa mu subdirectory "C", ndiye mukatsegula mawonekedwe a sparseCheckoutCone, lamulo "git sparse-checkout set A/B/ C" itulutsa zonse zomwe zili mu "C", koma kuchokera ku "A" ndi "B" ingotulutsa magawo ofunikira kuti agwire ntchito ndi "C".

  • Kuchokera pazolembedwa ("git rebase -h"), maumboni onse osankha "--preserve-merge" achotsedwa, omwe adatsitsidwa ndipo akuyenera kugwiritsidwa ntchito m'malo mwake kusamutsa magulu angapo.git rebase --rebase-merges".
  • Kupititsa patsogolo kuwerengeka kwa mauthenga okhala ndi zigamba zotumizidwa kumindandanda yamakalata, njira ya "git format-patch -cover-from-descript subject" yawonjezedwa, ikatchulidwa, ndime yoyamba kuchokera pamawu ofotokozera nthambi imagwiritsidwa ntchito ngati mutu wa kalata yoyamba ya zigamba.
  • Thandizo lothandizira kugwiritsa ntchito kophatikizana kwa lamulo la "git apply -3way" ndi "merge.conflictStyle" zoikamo ("git apply" tsopano zikuganiziranso kalembedwe kake ka mikangano kuchokera ku merge.conflictStyle pakufunika kuthetsa kusamvana mutayesa. kuyika fayilo yachigamba kumalo osungirako).
  • Khodi yotanthauzira ntchito yomwe imagwiritsidwa ntchito pochita zinthu monga "git diff/grep --show-function/-function-context" yawonjezedwa kuti ithandizire kutanthauzira malire pamapulogalamu azilankhulo. Elixir.
  • Njira yatsopano yawonjezedwa ku "git add", "git commit", "git reset" ndi malamulo ena - "-pathspec-from-file", zomwe zimapangitsa kuti zitheke kutsitsa mndandanda wanjira kuchokera pafayilo kapena mtsinje wolowetsa. , m’malo mozilemba pamzere wolamula.
  • Vuto lozindikira ma renames pamlingo wa chikwatu mukalemba ma commits lathetsedwa. Tanthauzoli silinagwire ntchito ngati zomwe zili mu subdirectory zidasunthidwa kuzu la nkhokwe.
  • Kukhazikitsa koyambirira kwa lamulo lokonzedwanso la "git add -i" lakonzedwa, kukulolani kuti muwonjezere zomwe zasinthidwa molumikizana, zolembedwanso kuchokera ku Perl kupita ku C. Kukonzanso kofananako kwa lamulo la "git add -p" kukuchitika.
  • Lamulo la "git log -graph" lasinthidwanso, ndikupanga chithunzi cha ASCII cha graph yokhala ndi mbiri yakusintha kosungirako. Kukonzansoko kunapangitsa kuti zitheke kuwongolera bwino ndikuchepetsa zotulutsa popanda kupotoza kapangidwe ka nkhaniyo, zomwe, mwachitsanzo, zidathetsa vutoli ndi chithunzi chopitilira m'lifupi mwake.
  • Njira ya "git log --format=.." imakupatsani mwayi wosintha mawonekedwe,
    zowonjezedwa mothandizidwa ndi mbendera za "l/L" kuwonetsa gawo lokha la imelo lomwe lasonyezedwa chizindikiro cha "@" chisanachitike (mwachitsanzo, chothandiza ngati opanga onse ali ndi maimelo onse pamalo amodzi).

  • Anawonjezera "set-url" subcommand ku lamulo la "git submodule".
  • Zida zoyesera zasinthidwa pokonzekera kusintha kwa
    hashing algorithm SHA-2 m'malo mwa SHA-1.

Source: opennet.ru

Kuwonjezera ndemanga