Pagpagawas sa giapod-apod nga source control system nga Git 2.25

Magamit pagpagawas sa giapod-apod nga source control system Git 2.25.0. Ang Git usa sa pinakasikat, kasaligan, ug high-performance nga version control system nga naghatag ug flexible non-linear development tools base sa branching ug merging branches. Aron masiguro ang integridad sa kasaysayan ug pagsukol sa retroactive nga mga pagbag-o, gigamit ang implicit nga pag-hash sa tibuok miaging kasaysayan sa matag commit, posible usab nga ma-verify ang tagsa-tagsa nga mga tag ug commit sa digital signatures gikan sa mga developers.

Kung itandi sa miaging pagpagawas, ang bag-ong bersyon naglakip sa 583 nga mga pagbag-o, nga giandam uban ang pag-apil sa 84 nga mga developer, diin 32 ang miapil sa pag-uswag sa unang higayon. nag-unang mga inobasyon:

  • Ang posibilidad sa partial cloning nagkaduol sa pagpalig-on ug hingpit nga pagkaandam, nga nagtugot kanimo sa pagbalhin lamang sa bahin sa datos ug pagtrabaho uban sa dili kompleto nga kopya sa repository. Ang usa ka tipikal nga clone nagkopya sa tanan nga datos gikan sa repository, lakip ang matag bersyon sa matag file sa kasaysayan sa pagbag-o. Alang sa dako kaayo nga mga repository, ang pagkopya sa datos moresulta sa usa ka mahinungdanong pagtaas sa trapiko ug disk space, bisan kung ang developer interesado lamang sa usa ka subset sa mga file. Aron mapadali ang pagkuha sa bahin lamang sa punoan nga gigikanan nga nagtrabaho, ang bag-ong pagpagawas nagpaila sa usa ka eksperimento nga "sparse-checkout" nga mando ug usa ka bag-ong kapilian nga "--sparse" alang sa "clone" nga mando.

    Kaniadto, ang pinili nga proseso sa cloning gihimo pinaagi sa buluhaton mga pagsala aron ma-filter ang wala kinahanglana nga sulud ug ang kapilian nga "-no-checkout" aron ma-disable ang pagpuno sa nawala nga mga file. Pagkahuman niana, sa wala pa ipahigayon ang operasyon sa pag-checkout, gikinahanglan nga mahimo ang setting sa core.sparseCheckout ug ipasabut ang usa ka lista sa wala iapil nga mga pattern sa agianan sa .git/info/sparse-checkout file. Pananglitan, ang pag-clone nga walay mga blobs ug pagpugong sa mga file nga makuha gikan sa mga subdirektoryo sa giladmon nga 2 o labaw pa, mahimo nimong padaganon:

    git clone --filter=blob:wala --no-checkout /imong/repositoryo/dinhi repo
    $cd repo
    $ cat >.git/info/sparse-checkout <EOF
    /*
    !/*
    EOF
    $ git config core.sparseCheckout 1
    $ git checkout .

    Ang bag-ong "git sparse-checkout" nga sugo gipasimple kaayo ang trabaho ug gipamenos ang proseso sa pag-organisar sa trabaho nga adunay dili kompleto nga repository sa mosunod nga mga sugo:

    git clone --filter = blob: wala --sparse / imong / repositoryo / dinhi repo
    git sparse-checkout set /path/to/check/out

    Ang sparse-checkout command nagtugot kanimo sa pagtakda og lista sa mga agianan para sa pag-checkout (set) nga walay manual nga pag-configure sa .git/info/sparse-checkout, ingon man sa pagpakita sa kasamtangan nga listahan sa mga agianan (lista) ug pagpagana o pag-disable sa partial checkouts (enable. / pag-disable).

    Aron ma-optimize ang trabaho nga adunay daghang mga repository ug mga lista sa mga template, ang "git config core.sparseCheckoutCone", nga naglimite sa gitugotan nga mga sumbanan (imbes sa arbitraryong .gitignore nga mga pattern, mahimo nimong ipiho kung ang tanan nga mga agianan ug ang tanan nga mga file sa usa ka gihatag nga subdirectory kinahanglan nga susihon). Pananglitan, kung ang usa ka dako nga repository adunay direktoryo nga "A / B / C" ug ang tanan nga trabaho gikonsentrar sa subdirectory nga "C", unya kung mahimo nimo ang sparseCheckoutCone mode, ang mando nga "git sparse-checkout set A / B / Ang C" mokuha sa tibuok nga sulod sa "C", apan gikan sa "A" ug "B" kini mokuha lamang sa mga bahin nga gikinahanglan aron magamit sa "C".

  • Gikan sa dokumentasyon ("git rebase -h"), ang tanan nga mga reperensiya sa "--preserve-merges" nga opsyon gikuha na, nga wala na gigamit ug kinahanglan gamiton sa pagbalhin sa usa ka set sa mga commit.git rebase --rebase-merges".
  • Aron mapauswag ang pagkabasa sa mga mensahe nga adunay mga patch nga gipadala sa mga mailing list, ang opsyon nga "git format-patch β€”cover-from-description subject" gidugang, kung gipiho, ang una nga parapo gikan sa teksto sa paghulagway sa sanga gigamit ingon nga hilisgutan sa cover letter para sa usa ka set sa mga patch.
  • Gipatuman nga suporta alang sa hiniusang paggamit sa "git apply -3way" nga sugo ug ang "merge.conflictStyle" setting ("git apply" karon nag-isip sa panagbangi nga estilo sa paghulagway gikan sa merge.conflictStyle kung gikinahanglan aron masulbad ang panagbangi human sa pagsulay aron magamit ang usa ka patch file sa repository).
  • Ang code sa kahulugan sa function nga gigamit sa mga operasyon sama sa "git diff/grep --show-function/-function-context" gipalapdan aron suportahan ang pagtino sa mga utlanan sa function sa mga programa sa pinulongan Elixir.
  • Usa ka bag-ong kapilian ang gidugang sa "git add", "git commit", "git reset" ug uban pang mga command - "-pathspec-from-file", nga nagpaposible sa pag-load sa usa ka lista sa mga agianan gikan sa usa ka file o input stream , imbes nga ilista sila sa command line.
  • Ang problema sa pag-ila sa mga pag-usab sa lebel sa direktoryo kung ang pagsulat sa mga pasalig nasulbad na. Ang kahulugan wala molihok kung ang mga sulud sa usa ka subdirectory gibalhin sa gamut sa repository.
  • Usa ka inisyal nga pagpatuman sa gidesinyo pag-usab nga "git add -i" nga sugo gisugyot, nga nagtugot kanimo sa pagdugang sa nausab nga sulod nga interactive, gisulat pag-usab gikan sa Perl ngadto sa C. Usa ka susama nga rework sa "git add -p" nga sugo gisugdan.
  • Ang "git log -graph" nga sugo gi-refactor, nga nagmugna og ASCII nga hulagway sa usa ka graph nga adunay kasaysayan sa mga kausaban sa repository. Ang rework nagpaposible sa pagpauswag ug pagpayano sa output nga walay pagtuis sa istruktura sa istorya, nga, pananglitan, nakasulbad sa problema sa hulagway nga molapas sa gilapdon sa linya sa terminal.
  • Ang "git log --format=.." nga kapilian nagtugot kanimo sa pag-usab sa output format,
    gipalugway uban ang suporta alang sa "l/L" nga mga bandila aron ipakita lamang ang bahin sa email address nga gipakita sa wala pa ang "@" nga simbolo (pananglitan, mapuslanon kung ang tanan nga mga developer adunay tanan nga mga email sa parehas nga domain).

  • Gidugang ang "set-url" subcommand sa "git submodule" nga sugo.
  • Gi-update ang mga test kits agig pagpangandam sa pagbalhin ngadto sa
    hashing algorithm SHA-2 imbes sa SHA-1.

Source: opennet.ru

Idugang sa usa ka comment