Nakalabas na ang Git 2.37 at ito ang balita nito

Ang paglulunsad ng ang bagong bersyon ng Git 2.37, alin ang sa pinakasikat na version control system, maaasahan, at may mataas na pagganap na software na nagbibigay ng mga flexible na nonlinear na tool sa pag-develop batay sa mga fork at mergers ng mga fork.

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

Mga highlight ng Git 2.37

Kung ikukumpara sa nakaraang bersyon, 395 mga pagbabago ang tinanggap sa bagong bersyon, inihanda kasama ang partisipasyon ng 75 developer, kung saan 20 ang lumahok sa development sa unang pagkakataon.

Sa bagong bersyon na ito ay naka-highlight na ang mekanismo ng bahagyang mga indeks (sparse index), na sumasaklaw lamang sa bahagi ng repositoryo, se ay inihanda para sa malawakang paggamit. Maaaring mapabuti ng mga bahagyang index ang pagganap at makatipid ng espasyo sa mga repositoryo na nagsasagawa ng mga partial clone operations (sparse checkout) o nagpapatakbo sa isang hindi kumpletong kopya ng repositoryo.

Kinukumpleto ng bagong bersyon ang gawain ng pagsasama ng mga bahagyang index sa mga utos "git show", "git sparse-checkout" at "git stash". Ang pinaka-kapansin-pansing pakinabang sa pagganap mula sa paggamit ng mga bahagyang index ay nasa command na "git stash", na hanggang 80% na mas mabilis sa ilang sitwasyon.

Ang isa pang pagbabago na namumukod-tangi ay iyon isang bagong mekanismo ng "cruft pack" ang ipinatupad upang i-package ang mga bagay na hindi naaabot na hindi naka-reference sa repositoryo (hindi na-reference ng mga sangay o tag). Ang tagakolekta ng basura ay nagtatanggal ng mga bagay na hindi maabot, ngunit nananatili sila sa imbakan para sa isang tiyak na oras bago tanggalin ang mga ito upang maiwasan ang mga kondisyon ng lahi. Upang subaybayan ang panahon ng hindi maabot na mga bagay, kinakailangan ang pagbubuklod, ang mga ito ay na-tag ng oras ng pagbabago ng mga katulad na bagay, na hindi pinapayagan ang mga ito na maimbak sa isang bundle na file, kung saan ang lahat ng mga bagay ay may karaniwang oras ng pagbabago.

Ang pag-save ng bawat dati nang ginamit na bagay sa isang hiwalay na file, ang file ay nagdulot ng mga problema sa pagkakaroon ng isang malaking bilang ng mga bagong hindi maabot na mga bagay, hindi pa. Ang iminungkahing mekanismo ng "cruft pack" ay nagbibigay-daan sa lahat ng hindi maabot na mga bagay na maiimbak sa isang bundle file, at ang data tungkol sa oras ng pagbabago ng bawat bagay ay makikita sa isang hiwalay na talahanayan na nakaimbak sa isang file na may extension na ".mtimes".

Para sa Windows at macOS, mayroong built-in na mekanismo upang subaybayan ang mga pagbabago sa file system, na inaalis ang pangangailangan na ilista ang buong direktoryo ng trabaho kapag nagsasagawa ng mga operasyon tulad ng "git status". Dati, upang masubaybayan ang mga pagbabago sa pamamagitan ng mga kawit, maaari mong ikonekta ang mga panlabas na kagamitan sa pagsubaybay sa pagbabago ng file system, gaya ng Watchman, ngunit nangangailangan ito ng pag-install ng mga karagdagang programa at pagsasaayos. Naka-built in na ang functionality na ito at maaaring paganahin gamit ang "git config core.fsmonitor true".

Ang utos Ang "git sparse-checkout" ay bumaba ng suporta para sa isang alternatibo sa "--cone" mode kahulugan ng template para sa partial cloning, na nagbibigay-daan, kapag tinutukoy ang bahagi ng repository na napapailalim sa cloning operation, na ilista ang mga indibidwal na file gamit ang ".gitignore" syntax, na hindi pinapayagan ang paggamit para sa pag-optimize ng mga partial index.

Sa iba pang mga pagbabago matindi yan:

  • Pinahusay na flexibility sa pag-configure ng fsync() na tawag para i-flush ang mga pagbabago sa disk.
  • Nagdagdag ng suporta para sa "batch" na diskarte sa pag-sync sa "core.fsyncMethod" na parameter, na nagpapabilis sa trabaho kapag nagsusulat ng malaking bilang ng mga hiwalay na file sa pamamagitan ng pag-iipon ng mga pagbabago sa rewrite cache na na-flush ng isang fsync() na tawag.
  • Ang mga traversal command tulad ng "git log" at "git rev-list" ay mayroon na ngayong opsyon na "–since-as-filter=X" upang i-filter ang impormasyon tungkol sa mga commit na mas matanda sa "X".
  • Sa command na "git remote", ang pagtukoy sa flag na "-v" ay nagbibigay ng impormasyon tungkol sa mga partial clone ng repository.
  • Idinagdag ang setting na "transfer.credentialsInUrl," na maaaring kunin ang mga value na "warning", "die" at "allow". Kung ang parameter na "remote. Tinutukoy ng .url" ang mga kredensyal sa plain text, ang pagtatangkang magsagawa ng mga operasyong "get" o "push" ay mabibigo kung ang setting na "transfer.credentialsInUrl" ay nakatakda sa "mamatay", o isang babala kung nakatakda sa "warning" .
  • Bilang default, ginagamit ang bagong interactive mode na pagpapatupad ng command na "git add -i", na muling isinulat mula Perl hanggang C.

Sa wakas kung interesado kang malaman ang tungkol dito, maaari mong suriin ang mga detalye Sa sumusunod na link.


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.