Itusilẹ ti eto iṣakoso orisun pinpin Git 2.25

Wa itusilẹ ti eto iṣakoso orisun pinpin git 2.25.0. Git jẹ ọkan ninu olokiki julọ, igbẹkẹle, ati awọn eto iṣakoso ẹya ti o ga julọ ti o pese awọn irinṣẹ idagbasoke ti kii ṣe laini ti o da lori awọn ẹka ẹka ati apapọ awọn ẹka. Lati rii daju iduroṣinṣin ti itan-akọọlẹ ati atako si awọn ayipada ifẹhinti, hashing ti gbogbo itan iṣaaju ninu ifaramọ kọọkan ni a lo, o tun ṣee ṣe lati rii daju awọn afi ẹni kọọkan ati ṣe pẹlu awọn ibuwọlu oni nọmba lati ọdọ awọn olupilẹṣẹ.

Ti a ṣe afiwe si itusilẹ ti tẹlẹ, awọn ayipada 583 ni a gba sinu ẹya tuntun, ti a pese sile pẹlu ikopa ti awọn olupilẹṣẹ 84, eyiti 32 ṣe alabapin ninu idagbasoke fun igba akọkọ. akọkọ awọn imotuntun:

  • O ṣeeṣe ti cloning apa kan n sunmọ imuduro ati imurasilẹ ni kikun, gbigba ọ laaye lati gbe apakan nikan ti data naa ati ṣiṣẹ pẹlu ẹda ti ko pe ti ibi-ipamọ. Aṣoju ẹda ẹda ẹda gbogbo data lati ibi ipamọ, pẹlu gbogbo ẹya ti gbogbo faili ninu itan-akọọlẹ iyipada. Fun awọn ibi ipamọ ti o tobi pupọ, didakọ data ṣe abajade ni ilosoke pataki ninu ijabọ ati aaye disk, paapaa ti olupilẹṣẹ ba nifẹ si ipin awọn faili nikan. Lati jẹ ki o rọrun lati gba apakan nikan ti igi orisun ti n ṣiṣẹ, itusilẹ tuntun ṣafihan aṣẹ idanwo “sparse-checkout” ati aṣayan “--sparse” tuntun fun aṣẹ “clone”.

    Ni iṣaaju, ilana ti cloning yiyan ni a ṣe nipasẹ iṣẹ-ṣiṣe naa Ajọ lati ṣe àlẹmọ akoonu ti ko wulo ati aṣayan “—ko si-iṣayẹwo” lati mu kikun awọn faili ti o padanu. Lẹhin iyẹn, ṣaaju ṣiṣe iṣẹ isanwo, o jẹ dandan lati mu eto core.sparseCheckout ṣiṣẹ ati ṣalaye atokọ ti awọn ilana ipa-ọna ti a yọkuro ninu faili .git/info/sparse-checkout. Fun apẹẹrẹ, lati oniye laisi blobs ati ṣe idiwọ awọn faili lati fa jade lati awọn iwe-itumọ ti ijinle 2 tabi diẹ sii, o le ṣiṣe:

    git clone --filter=blob: kò sí --no-checkout /rẹ/ibi ipamọ/nibi repo
    $cd repo
    $ ologbo> .git/info/sparse-checkout
    /*
    !/*
    EOF
    $ git konfigi core.sparseCheckout 1
    $ git isanwo.

    Aṣẹ “git sparse-checkout” tuntun jẹ ki iṣẹ naa rọrun pupọ ati pe o dinku ilana ti siseto iṣẹ pẹlu ibi ipamọ ti ko pe si awọn aṣẹ wọnyi:

    git clone --filter=blob: kò sí --sparse /rẹ/ibi ipamọ/nibi repo
    git sparse-checkout ṣeto /pato/to/check/out

    Aṣẹ isanwo fọnka gba ọ laaye lati ṣeto atokọ ti awọn ọna fun ibi isanwo (ṣeto) laisi tunto pẹlu ọwọ .git/info/sparse-checkout, bakannaa ṣafihan atokọ lọwọlọwọ ti awọn ọna (akojọ) ati mu ṣiṣẹ tabi mu awọn isanwo apakan ṣiṣẹ (ṣiṣẹ. / danu).

    Lati mu iṣẹ pọ si pẹlu awọn ibi ipamọ nla pupọ ati awọn atokọ ti awọn awoṣe, awọn “git konfigi core.sparseCheckoutCone", eyi ti o ṣe idiwọn awọn ilana ti a gba laaye (dipo awọn ilana .gitignore lainidii, o le pato boya gbogbo awọn ọna ati gbogbo awọn faili ti o wa ninu iwe-ipamọ ti a fun ni o yẹ ki o ṣayẹwo). Fun apẹẹrẹ, ti ibi-ipamọ nla kan ba ni itọsọna “A/B/C” ati pe gbogbo iṣẹ naa ni ogidi ninu iwe-ipamọ “C”, lẹhinna nigbati o ba mu ipo sparseCheckoutCone ṣiṣẹ, aṣẹ “git sparse-checkout ṣeto A/B/ C” yoo yọ gbogbo awọn akoonu ti “C” jade, ṣugbọn lati “A” ati “B” yoo yọkuro awọn apakan pataki lati ṣiṣẹ pẹlu “C”.

  • Lati inu iwe ("git rebase -h"), gbogbo awọn itọka si aṣayan "--preserve-merges" ti yọkuro, eyiti o ti parẹ ati pe o yẹ ki o lo dipo lati gbejade awọn iṣẹ ṣiṣe kan.git rebase --rebase-merges".
  • Lati ṣe ilọsiwaju kika awọn ifiranṣẹ pẹlu awọn abulẹ ti a fi ranṣẹ si awọn atokọ ifiweranṣẹ, aṣayan “git format-patch —cover-from-description” aṣayan ti ti ṣafikun, nigba ti a pato, paragirafi akọkọ lati ọrọ apejuwe ẹka ni a lo bi koko-ọrọ ti lẹta ideri fun ṣeto awọn abulẹ.
  • Atilẹyin imuse fun lilo apapọ ti pipaṣẹ “git apply -3way” ati eto “merge.conflictStyle” (“git apply” bayi gba sinu akoto ara apejuwe rogbodiyan lati merge.conflictStyle nigbati o jẹ dandan lati yanju ija lẹhin igbiyanju lati lo faili patch si ibi ipamọ).
  • Koodu asọye iṣẹ ti a lo ninu awọn iṣẹ bii “git diff/grep --show-function/-function-context” ti gbooro lati ṣe atilẹyin asọye awọn aala iṣẹ ni awọn eto ede Elixir.
  • A ti ṣafikun aṣayan tuntun si “git add”, “git commit”, “git reset” ati awọn aṣẹ miiran - “-pathspec-from-file”, eyiti o jẹ ki o ṣee ṣe lati ṣajọ atokọ ti awọn ọna lati faili tabi ṣiṣanwọle , dipo kikojọ wọn lori laini aṣẹ.
  • Iṣoro pẹlu wiwa awọn lorukọ ni ipele ilana nigbati awọn iṣẹ kikọ ti ni ipinnu. Itumọ naa ko ṣiṣẹ ti awọn akoonu inu iwe-ipamọ kan ti gbe lọ si gbongbo ti ibi ipamọ naa.
  • Iṣe imuse akọkọ ti aṣẹ “git add-i” ti a tun ṣe ni a ti dabaa, gbigba ọ laaye lati ṣafikun akoonu ti o yipada ni ibaraenisọrọ, tun kọ lati Perl si C. Atunse ti o jọra ti aṣẹ “git add -p” n lọ lọwọ.
  • Aṣẹ “git log –graph” ti jẹ atunṣe, ti n ṣe agbejade aworan ASCII ti aworan kan pẹlu itan-akọọlẹ awọn ayipada ninu ibi ipamọ naa. Atunse naa jẹ ki o ṣee ṣe lati ni ilọsiwaju ni pataki ati irọrun iṣelọpọ laisi yiyipada ọna ti itan naa, eyiti, fun apẹẹrẹ, yanju iṣoro naa pẹlu aworan ti o gbooro ju iwọn laini ebute lọ.
  • Aṣayan "git log --format=..." jẹ ki o yi ọna kika ti o jade pada,
    gbooro pẹlu atilẹyin fun awọn asia “l/L” lati ṣafihan apakan ti adirẹsi imeeli ti o tọka ṣaaju aami “@” (fun apẹẹrẹ, wulo nigbati gbogbo awọn olupilẹṣẹ ni gbogbo awọn imeeli ni agbegbe kanna).

  • Ṣe afikun “set-url” subcommand si pipaṣẹ “git submodule”.
  • Awọn ohun elo idanwo ti ni imudojuiwọn ni igbaradi fun iyipada si
    hashing algorithm SHA-2 dipo SHA-1.

orisun: opennet.ru

Fi ọrọìwòye kun