Nakalabas na ang Git 2.36 at ito ang balita nito

Matapos ang tatlong buwan ng pag-unlad ang bagong bersyon ng system ay inilabas ng distributed source code control «git 2.36» isa sa pinakasikat, maaasahan at mataas na pagganap na mga version control system na nagbibigay ng flexible na non-linear na mga tool sa pag-develop batay sa mga fork at merges ng mga forks.

Upang matiyak ang integridad ng kasaysayan at paglaban sa mga "paatras" na pagbabago, ang implicit na hash ng lahat ng nakaraang kasaysayan ay ginagamit sa bawat commit. Posible ring i-verify ang mga digital na lagda ng mga developer ng mga indibidwal na label at kumpirmasyon.

Mga highlight ng Git 2.36

Kung ikukumpara sa nakaraang paglabas, 717 pagbabago ang tinanggap sa bagong bersyon, na inihanda kasama ng 96 na mga developer, kung saan 26 ang lumahok sa pag-unlad sa unang pagkakataon. Mga pangunahing inobasyon:

Ang pagpipilian Idinagdag ang “–remerge-diff” sa mga command na “git log” at “git show” para magpakita ng mga pagkakaiba sa pagitan ng pangkalahatang resulta ng pagsasanib at ng aktwal na data na makikita sa commit pagkatapos iproseso ang command na "merge", na nagbibigay-daan sa iyong biswal na masuri ang mga pagbabagong ginawa bilang resulta ng pagsasanib sa paglutas ng salungatan. Ang karaniwang command na "git show" ay naghihiwalay sa iba't ibang mga resolusyon ng salungatan na may indentation, na ginagawang mahirap maunawaan ang mga pagbabago.

Kapag ginagamit ang opsyon “–remerge-diff”, ang mga pagkakaiba sa pagitan ng mga resolusyon ng salungatan ay hindi pinaghihiwalay para sa bawat pangunahing sangay, ngunit ang mga pangkalahatang pagkakaiba sa pagitan ng isang file na may pinagsamang mga salungatan at isang file na nakalutas ng mga salungatan ay ipinapakita.

Ang isa pang kapansin-pansing pagbabago ay ang pinahusay na flexibility sa pag-customize ng pag-uugali mula sa pag-flush ng mga cache ng disk sa pamamagitan ng fsync() function na tawag. Parameter core.fsyncObjectFiles ang dating magagamit ay nahati sa dalawang variable ng pagsasaayos core.fsync at core.fsyncMethod, na nagbibigay ng kakayahang mag-apply ng fsync hindi lamang sa object file (.git/objects), kundi pati na rin sa iba pang git structure gaya ng refs ( .git /refs), reflog, at package file.

sa pamamagitan ng variable core.fsync, maaari kang tumukoy ng listahan ng mga panloob na istruktura ng Git, pagkatapos ng operasyon ng pagsulat, kung saan tatawagin ang fsync. Ang variable core.fsyncMethod nagbibigay-daan sa iyo na pumili ng paraan para sa pag-flush ng cache, halimbawa, maaari mong piliin ang fsync para gamitin ang system call ng parehong pangalan, o tukuyin ang write-only na gagamitin ang nakabinbing lazywriting (page cache lazywriting).

Upang maprotektahan laban sa mga kahinaan na humahawak sa pagpapalit ng .git na mga direktoryo ng ibang mga user sa mga nakabahaging partisyon, Ang pagpapatunay ng may-ari ng repositoryo ay pinalakas. Ngayon ay pinapahintulutan na lamang ang anumang git command sa kanilang sariling ".git" na mga direktoryo. Kung ang direktoryo ng imbakan ay pagmamay-ari ng isa pang user, isang error ang bubuo bilang default. Maaaring i-disable ang gawi na ito gamit ang secure na setting ng direktoryo.

Na-highlight din iyon idinagdag ang opsyong “–batch-command” sa command na “git cat-file”, na nilayon upang bumuo ng orihinal na nilalaman ng mga bagay na Git, na umaayon sa mga utos “–batch” at “–batch-check” dating magagamit na may kakayahang pumili ng uri ng output sa pamamagitan ng "content » upang magpakita ng nilalaman o «impormasyon » upang ipakita ang impormasyon tungkol sa bagay. Gayundin, ang isang "flush" na utos ay sinusuportahan upang i-flush ang output buffer.

Sa kabilang banda, naka-highlight iyon nagdagdag ng opsyong “–oid-only” (“–object-only”) sa utos na "git ls-tree", na idinisenyo upang ilista ang mga nilalaman ng isang puno ng mga bagay na, sa pamamagitan ng pagkakatulad sa "–name -only", ay nagpapakita lamang ng mga object identifier upang pasimplehin ang mga tawag mula sa mga script. Ipinapatupad din ang opsyong “–format,” na nagbibigay-daan sa iyong tukuyin ang sarili mong format ng output sa pamamagitan ng pagsasama-sama ng impormasyon sa mode, uri, pangalan, at laki.

Sa iba pang mga pagbabago tumayo mula sa bagong bersyon na ito:

  • Sa command na "git bisect run", ang kahulugan ng hindi pagtatakda ng sign ng isang executable file para sa script at pagbuo ng mga error na may mga code 126 o 127 sa kasong ito ay ipinatupad (dati, kung ang script ay hindi maisakatuparan, ang lahat ng mga pagsusuri ay minarkahan bilang may mga isyu).
  • Idinagdag ang opsyong “–refetch” sa command na “git fetch” para kunin ang lahat ng object nang hindi ipinapaalam sa kabilang panig ng content na nasa lokal na system na. Maaaring maging kapaki-pakinabang ang pag-uugaling ito para sa pagpapanumbalik ng estado pagkatapos ng mga pagkabigo kapag may kawalan ng katiyakan tungkol sa integridad ng lokal na data.
  • Ang "git update-index", "git checkout-index", "git read-tree", at "git clean" na mga command ay sumusuporta na ngayon sa partial indexing (sparse index) upang mapabuti ang performance at makatipid ng espasyo sa mga repository na gumaganap ng mga partial operations. (mahinang bayad).
  • Binago ang pag-uugali ng "git clone --filter=... --recurse-submodules" na utos, na humahantong na ngayon sa bahagyang pag-clone ng mga submodules (dati, kapag nagsasagawa ng mga naturang command, ang filter ay inilapat lamang sa pangunahing nilalaman at ang mga submodules ay ganap na na-clone nang hindi isinasaalang-alang ang filter).
  • Nagdagdag ng suporta para sa pagtukoy ng mga filter para sa pumipili na paglalagay ng nilalaman sa command na "git bundle", katulad ng mga partial clone operations.
  • Idinagdag ang opsyong “–recurse-submodules” sa command na “git branch” para i-traverse ang mga submodules nang pabalik-balik.
    Nagmungkahi si Userdiff ng bagong driver para sa wikang Kotlin.

Sa wakas kung interesado kang malaman ang tungkol dito tungkol sa bagong bersyon na ito ng Git 2.36 maaari mong konsultahin ang mga detalye sa ang sumusunod na link.


Maging una sa komento

Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.