Git 2.37 source control release

Ang pagpagawas sa giapod-apod nga source control system Git 2.37 gipaila. 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 pamatud-an ang indibidwal nga mga tag ug commit nga adunay digital nga mga pirma gikan sa mga developers.

Kung itandi sa miaging pagpagawas, ang bag-ong bersyon naglakip sa 395 nga mga pagbag-o, nga giandam uban ang pag-apil sa 75 nga mga developer, diin 20 ang miapil sa pag-uswag sa unang higayon. Panguna nga mga inobasyon:

  • Ang mekanismo sa partial index (sparse index), nga naglangkob lamang sa bahin sa repository, giandam na alang sa kaylap nga paggamit. Ang mga partial index makapauswag sa performance ug makadaginot og luna sa mga repositoryo nga naghimo sa partial cloning (sparse-checkout) nga mga operasyon o nagtrabaho sa dili kompleto nga kopya sa repository. Ang bag-ong pagpagawas nagkompleto sa paghiusa sa mga partial index sa git show, git sparse-checkout, ug git stash commands. Ang labing mamatikdan nga benepisyo sa pasundayag gikan sa paggamit sa mga partial nga indeks makita sa "git stash" nga mando, nga nakakita sa usa ka 80% nga pagtaas sa katulin sa pagpatuman sa pipila nga mga sitwasyon.
  • Usa ka bag-ong mekanismo sa "cruft packs" ang gipatuman alang sa pagputos sa dili maabot nga mga butang nga wala gi-refer sa repository (wala gi-refer sa mga sanga o mga tag). Ang dili maabot nga mga butang gitangtang sa tigkolekta sa basura, apan magpabilin sa repository sa usa ka piho nga oras sa wala pa kini mapapas aron malikayan ang mga kondisyon sa lumba. Aron masubay ang panahon sa panghitabo sa dili maabot nga mga butang, gikinahanglan nga ilakip ang mga tag ngadto kanila sa panahon sa pagbag-o sa susamang mga butang, nga dili magtugot sa pagtipig niini sa usa ka pack file diin ang tanan nga mga butang adunay komon nga oras sa pagbag-o. Kaniadto, ang pagtipig sa matag butang sa usa ka lahi nga file misangpot sa mga problema kung adunay daghang mga bag-o, dili maabot nga mga butang nga dili pa angayan nga tangtangon. Ang gisugyot nga mekanismo nga "cruft packs" nagtugot kanimo sa pagtipig sa tanan nga dili maabot nga mga butang sa usa ka pack file, ug magpakita sa datos sa oras sa pagbag-o sa matag butang sa usa ka bulag nga lamesa nga gitipigan sa usa ka file nga adunay extension nga ".mtimes".
  • Alang sa Windows ug macOS, adunay usa ka built-in nga mekanismo alang sa pagsubay sa mga pagbag-o sa file system, nga nagtugot kanimo nga malikayan ang pag-uli sa tibuuk nga direktoryo sa pagtrabaho kung maghimo mga operasyon sama sa "git status". Kaniadto, aron masubay ang mga pagbag-o, ang mga eksternal nga kagamitan alang sa pagsubay sa mga pagbag-o sa FS, sama sa Watchman, mahimong konektado pinaagi sa mga kaw-it, apan kini nanginahanglan sa pag-instalar sa dugang nga mga programa ug pag-configure. Karon ang espesipikong pagpaandar kay built-in ug mahimong ma-enable gamit ang command "git config core.fsmonitor true".
  • Sa command "git sparse-checkout", suporta alang sa usa ka alternatibo sa "-cone" mode, ang pamaagi sa pagtino sa mga templates alang sa partial cloning, gideklarar nga dili na magamit, nga nagtugot, sa pagtino sa bahin sa repository nga ubos sa ang cloning nga operasyon, sa paglista sa tagsa-tagsa nga mga file gamit ang ".gitignore" syntax, nga wala magtugot sa paggamit alang sa optimization partial index.
  • Dugang nga pagka-flexible sa pag-configure sa fsync() nga tawag aron ma-flush ang mga pagbag-o sa disk. Ang suporta alang sa "batch" nga estratehiya sa pag-synchronize gidugang sa "core.fsyncMethod" nga parameter, nga nagtugot sa pagpadali sa trabaho sa pagsulat sa usa ka dako nga gidaghanon sa mga indibidwal nga mga file pinaagi sa pagtigum sa mga kausaban sa writeback cache, nga gi-reset sa usa ka fsync() tawag. Ang pagsulay, nga miresulta sa 500 ka mga file nga gidugang gamit ang "git add" nga sugo, nahuman sa 0.15 segundos sa dihang ang bag-ong mode gipagana, samtang ang pagtawag sa fsync() mikuha ug 1.88 ka segundos alang sa matag file, ug walay paggamit sa fsync - 0.06 segundos .
  • Ang mga command traversal sa sanga sama sa "git log" ug "git rev-list" karon adunay opsyon nga "-since-as-filter=X" nga nagtugot kanimo sa pagsala sa impormasyon mahitungod sa mga commit nga mas tigulang kay sa "X". Dili sama sa kapilian nga "-sukad", ang bag-ong mando gipatuman ingon usa ka filter nga dili mohunong sa pagpangita pagkahuman sa una nga nahimo nga mas tigulang kaysa sa gitakda nga oras.
  • Sa "git remote" nga mando, kung gipiho ang "-v" nga bandila, ang kasayuran bahin sa mga partial clone sa repository gipakita.
  • Gidugang ang setting nga "transfer.credentialsInUrl", nga mahimong makuha ang mga kantidad nga "pahimangno", "mamatay" ug "gitugotan". Kung gipiho sa parameter nga "hilit. .url" nga plaintext nga mga kredensyal, ang pagsulay sa paghimo sa usa ka "pagkuha" o "pagduso" nga operasyon mapakyas sa usa ka sayup kung ang "transfer.credentialsInUrl" nga setting gitakda sa "mamatay", o usa ka pasidaan kung gibutang sa "pahimangno".
  • Sa kasagaran, ang bag-ong pagpatuman sa interactive nga paagi sa "git add -i" nga sugo, nga gisulat pag-usab gikan sa Perl ngadto sa C, gipagana.

Source: opennet.ru

Idugang sa usa ka comment