Ukukhishwa kwesistimu yokulawula umthombo esabalalisiwe i-Git 2.25

Iyatholakala ukukhululwa kwesistimu yokulawula umthombo esabalalisiwe I-Git 2.25.0. I-Git ingenye yezinhlelo ezidume kakhulu, ezinokwethenjelwa nezisebenza kahle kakhulu zokulawula inguqulo, ehlinzeka ngamathuluzi okuthuthukisa aguquguqukayo angaqondile asekelwe ku-branching nokuhlanganisa. Ukuqinisekisa ubuqotho bomlando kanye nokumelana nezinguquko ze-retroactive, i-hashing engacacile yawo wonke umlando wangaphambilini isetshenziswa ekuzinikeleni ngakunye; kuyenzeka futhi ukuqinisekisa amathegi angawodwana kanye nokuzibophezela ngamasiginesha edijithali yonjiniyela.

Uma kuqhathaniswa nokukhululwa kwangaphambilini, inguqulo entsha yayihlanganisa izinguquko ezingu-583, ezilungiselelwe ngokubamba iqhaza kwabathuthukisi abangu-84, abangu-32 babo babambe iqhaza ekuthuthukisweni okokuqala. main emisha:

  • Amathuba okwenza i-cloning ingxenye asondele ekuzinziseni nasekulungeni okuphelele, okukuvumela ukuthi udlulise ingxenye kuphela yedatha futhi usebenze ngekhophi engaphelele yendawo yokugcina. I-clone evamile ikopisha yonke idatha kusuka endaweni yokugcina, okuhlanganisa zonke izinguqulo zawo wonke amafayela emlandweni woshintsho. Kumakhosombe amakhulu kakhulu, ukukopisha idatha kuphumela ekwenyukeni okukhulu kwethrafikhi nesikhala sediski, ngisho noma unjiniyela enentshisekelo kuphela kusethi engaphansi yamafayela. Ukwenza kube lula ukubuyisa ingxenye kuphela yesihlahla esisebenzayo somthombo, ukukhishwa okusha kwethula umyalo wokuhlola othi "sparse-checkout" kanye nenketho entsha ethi "--sparse" yomyalo we-"clone".

    Ngaphambilini, inqubo ye-cloning ekhethiwe yenziwa ngomsebenzi izihlungi ukuhlunga okuqukethwe okungadingekile kanye nenketho ethi “-no-checkout” ukuze ukhubaze ukugcwaliswa kwamafayela angekho. Ngemva kwalokho, ngaphambi kokwenza umsebenzi wokuphuma, bekudingeka ukunika amandla ukulungiselelwa kwe-core.sparseCheckout futhi kuchazwe uhlu lwamaphethini wendlela angafakiwe kufayela elithi .git/info/sparse-checkout. Isibonelo, ukuhlanganisa ngaphandle kwama-blobs futhi uvimbele amafayela ukuthi akhishwe ku-subdirectories yokujula 2 noma ngaphezulu, ungaqalisa:

    i-git clone --filter=blob: none --no-checkout /yakho/inqolobane/lapha repo
    $cd repo
    $ cat >.git/info/sparse-checkout <EOF
    /*
    !/*
    EOF
    $ git config core.sparseCheckout 1
    $ git ukuphuma.

    Umyalo omusha "we-git sparse-checkout" wenza umsebenzi ube lula futhi unciphisa inqubo yokuhlela umsebenzi ngendawo yokugcina engaphelele kule miyalo elandelayo:

    git clone --filter=blob: none --sparse /yakho/repository/here repo
    git sparse-checkout set /path/to/check/out

    Umyalo we-sparse-checkout ikuvumela ukuthi usethe uhlu lwezindlela zokukhokha (setha) ngaphandle kokumisa mathupha i-.git/info/sparse-checkout, kanye nokubonisa uhlu lwamanje lwezindlela (uhlu) futhi unike amandla noma ukhubaze ukuphuma kancane (vula amandla /khubaza).

    Ukwandisa umsebenzi ngamaqoqo amakhulu kakhulu kanye nezinhlu zezifanekiso, "git config core.sparseCheckoutCone", ekhawulela amaphethini avunyelwe (esikhundleni samaphethini .gitignore arbitrary, ungacacisa ukuthi zonke izindlela nawo wonke amafayela kuhla lwemibhalo olungaphansi olunikeziwe kufanele ahlolwe). Isibonelo, uma inqolobane enkulu inohla lwemibhalo oluthi “A/B/C” futhi wonke umsebenzi ugxiliswe kuhla lwemibhalo olungaphansi “C”, lapho-ke unika amandla imodi ye-sparseCheckoutCone, umyalo othi “git sparse-checkout set A/B/ C” izokhipha konke okuqukethwe kokuthi “C”, kodwa kokuthi “A” kanye “B” izokhipha izingxenye ezidingekayo kuphela ukuze kusetyenzwe ngo-“C”.

  • Kusuka kumadokhumenti ("git rebase -h"), zonke izinkomba zenketho ethi "--preserve-merges" zisusiwe, eyehlisiwe futhi kufanele isetshenziswe esikhundleni sokuthutha isethi yezibopho.git rebase --rebase-meges".
  • Ukuze kuthuthukiswe ukufundeka kwemiyalezo enamapheshana athunyelwe ohlwini lwamakheli, inketho ethi "git format-patch -cover-from-descript subject" yengeziwe, uma icacisiwe, isigaba sokuqala sombhalo wencazelo yegatsha sisetshenziswa njengesihloko incwadi yekhava yeqoqo lamapheshana.
  • Usekelo olusetshenziswayo lokusetshenziswa okuhlanganisiwe komyalo othi “git apply -3way” kanye nesilungiselelo esithi “merge.conflictStyle” (“git apply” manje sicabangela isitayela sencazelo yokungqubuzana evela ku-merge.conflictStyle uma kudingekile ukuxazulula ukungqubuzana ngemva kokuzama. ukusebenzisa ifayela le-patch endaweni yokugcina).
  • Ikhodi yencazelo yomsebenzi esetshenziswa emisebenzini efana ne-"git diff/grep --show-function/-function-context" inwetshiwe ukuze isekele ukuchaza imingcele yokusebenza ezinhlelweni zolimi. Elixir.
  • Inketho entsha yengezwe ku-"git add", "git commit", "git reset" neminye imiyalo - "-pathspec-from-file", okwenza kube nokwenzeka ukulayisha uhlu lwezindlela ezisuka efayeleni noma emfudlaneni yokufaka. , esikhundleni sokuwafaka ohlwini emugqeni womyalo.
  • Inkinga yokuthola amagama aqanjwe kabusha ezingeni lomkhombandlela lapho kubhalwa imisebenzi isixazululiwe. Incazelo ayizange isebenze uma okuqukethwe kohla lwemibhalo olungaphansi kuhanjiswe kumsuka wendawo yokugcina.
  • Ukuqaliswa kokuqala komyalo oklanywe kabusha othi “git add -i” kuhlongoziwe, okukuvumela ukuthi wengeze okuqukethwe okushintshile ngokuhlanganyela, kubhalwe kabusha kusuka ku-Perl kuya ku-C. Ukusetshenzwa kabusha okufanayo komyalo othi “git add -p” kuyaqhubeka.
  • Umyalo we-"git log -graph" wenziwe kabusha, ukhiqiza isithombe se-ASCII segrafu esinomlando wezinguquko endaweni yokugcina. Ukusetshenzwa kabusha kwenze kwaba nokwenzeka ukuthuthukisa kakhulu nokwenza kube lula okukhiphayo ngaphandle kokuhlanekezela ukwakheka kwendaba, okwathi, ngokwesibonelo, kwaxazulula inkinga ngesithombe esidlulela ngalé kobubanzi bomugqa wetheminali.
  • Inketho ethi "git log --format=.." ikuvumela ukuthi uguqule ifomethi yokuphumayo,
    inwetshwe ngokusekelwa kwamafulegi okuthi “l/L” ukuze abonise kuphela ingxenye yekheli le-imeyili ekhonjiswe ngaphambi kophawu elithi “@” (ngokwesibonelo, luwusizo lapho bonke onjiniyela benawo wonke ama-imeyili esizindeni esifanayo).

  • Kwengezwe i-subcommand ethi “set-url” kumyalo we-“git submodule”.
  • Amakhithi okuhlola abuyekeziwe ukulungiselela ukushintshela ku
    I-algorithm ye-hashing SHA-2 esikhundleni se-SHA-1.

Source: opennet.ru

Engeza amazwana