Itusilẹ iṣakoso orisun Git 2.35

Lẹhin oṣu meji ti idagbasoke, eto iṣakoso orisun pinpin Git 2.35 ti tu silẹ. Git jẹ ọkan ninu olokiki julọ, igbẹkẹle ati awọn eto iṣakoso ẹya ti o ga julọ, pese awọn irinṣẹ idagbasoke ti kii ṣe laini ti o da lori ẹka ati apapọpọ. Lati rii daju iduroṣinṣin ti itan-akọọlẹ ati atako si awọn ayipada ifẹhinti, hashing t’okan ti gbogbo itan-akọọlẹ iṣaaju ni a lo ninu ifaramọ kọọkan; o tun ṣee ṣe lati jẹri awọn ami kọọkan ati ṣe pẹlu awọn ibuwọlu oni nọmba ti awọn olupilẹṣẹ.

Ti a ṣe afiwe si itusilẹ ti tẹlẹ, ẹya tuntun pẹlu awọn iyipada 494, ti a pese sile pẹlu ikopa ti awọn olupilẹṣẹ 93, eyiti 35 ṣe alabapin ninu idagbasoke fun igba akọkọ. Awọn imotuntun akọkọ:

  • Awọn aye ti o ṣeeṣe fun lilo awọn bọtini SSH lati fowo si oni nọmba awọn nkan Git ti pọ si. Lati ṣe idinwo akoko wiwulo ti awọn bọtini pupọ, atilẹyin fun awọn itọsọna OpenSSH “wulo-ṣaaju” ati “wulo-lẹhin” ti ṣafikun, pẹlu eyiti o le rii daju pe iṣẹ ti o pe pẹlu awọn ibuwọlu lẹhin bọtini ti yiyi nipasẹ ọkan ninu awọn idagbasoke. Ṣaaju eyi, iṣoro kan wa pẹlu ipinya awọn ibuwọlu nipasẹ bọtini atijọ ati tuntun - ti o ba paarẹ bọtini atijọ, kii yoo ṣee ṣe lati jẹrisi awọn ibuwọlu ti a ṣe pẹlu rẹ, ati pe ti o ba lọ kuro, lẹhinna o yoo ṣee ṣe lati ṣẹda awọn ibuwọlu titun pẹlu bọtini atijọ, eyiti o ti rọpo tẹlẹ nipasẹ bọtini miiran. Lilo wulo-ṣaaju ki o to wulo-lẹhin ti o le ya awọn dopin ti awọn bọtini da lori awọn akoko ti awọn Ibuwọlu ti a da.
  • Ninu eto merge.conflictStyle, eyiti o fun ọ laaye lati yan ipo fun iṣafihan alaye nipa awọn ija lakoko iṣọpọ, atilẹyin fun ipo “zdiff3” ti han, eyiti o gbe gbogbo awọn laini boṣewa ti o ṣalaye ni ibẹrẹ tabi opin ija ni ita ija naa. agbegbe, eyiti ngbanilaaye fun igbejade iwapọ diẹ sii ti alaye.
  • Ipo “--ipele” ti ṣafikun aṣẹ “git stash”, eyiti o fun ọ laaye lati tọju awọn ayipada nikan ti a ṣafikun si atọka, fun apẹẹrẹ ni ipo kan nigbati o nilo lati sun siwaju diẹ ninu awọn iyipada eka fun igba diẹ. ṣafikun ohun ti o ti ṣetan ati ki o wo pẹlu iyokù lẹhin igba diẹ. Ipo naa jọra si pipaṣẹ “git ṣẹ”, kikọ awọn iyipada ti a gbe sinu atọka nikan, ṣugbọn dipo ṣiṣẹda adehun tuntun ni “git stash —ipele”, abajade ti wa ni ipamọ ni agbegbe igba diẹ stash. Ni kete ti awọn ayipada ba nilo, wọn le tun pada pẹlu aṣẹ “git stash pop”.
  • A ti ṣafikun olupilẹṣẹ ọna kika tuntun si aṣẹ “git log”, “-format=%(apejuwe)”, eyiti o fun ọ laaye lati ṣajọpọ iṣẹjade ti “git log” pẹlu iṣẹjade ti pipaṣẹ “git apejuwe”. Awọn paramita fun “apejuwe git” ti wa ni pato taara inu alaye pato ("-format=%(apejuwe:match=) ,iyasoto= )), ninu eyiti o tun le pẹlu awọn afi kuru ("—kika =%(apejuwe: afi= ))) ati tunto nọmba awọn lẹta hexadecimal lati ṣe idanimọ awọn nkan (“—kika =% (apejuwe: abbrev= ))). Fun apẹẹrẹ, lati ṣe atokọ awọn iṣẹ ṣiṣe 8 ti o kẹhin ti awọn afi ko ni aami oludibo itusilẹ, ati ni pato awọn idamọ ohun kikọ 8, o le lo aṣẹ naa: $ git log -8 — ọna kika = '% (apejuwe: iyasoto = * -rc *,abbrev=13)' v2.34.1-646-gaf4e5f569bc89 v2.34.1-644-g0330edb239c24 v2.33.1-641-g15f002812f858 v2.34.1-643-g2b. 95bd94 bbc056f2.34.1 v642-56-gffb95f8d v7-2.34.1- gdf203c9adeb2980902 v2.34.1-640-g3b41a212
  • Eto olumulo.signingKey ni bayi ṣe atilẹyin awọn oriṣi awọn bọtini tuntun ti ko ni opin si iru “ssh-” ati sisọ ọna faili ni kikun si bọtini. Awọn oriṣi omiiran jẹ pato nipa lilo “bọtini ::” ìpele, fun apẹẹrẹ “bọtini :: ecdsa-sha2-nistp256” fun awọn bọtini ECDSA.
  • Iyara ti ipilẹṣẹ atokọ ti awọn ayipada ninu ipo “-histogram”, bakannaa nigba lilo aṣayan “-awọ-awọ-awọ-ws”, eyiti o nṣakoso afihan awọn aaye ni iyatọ awọ, ti pọ si ni akiyesi.
  • Aṣẹ “git jump”, ti a lo lati pese Vim pẹlu alaye nipa fo gangan si ipo ti o fẹ ninu faili kan nigbati o ba n ṣe itupalẹ awọn ija-iṣọpọ, wiwo awọn iyatọ, tabi ṣiṣe iṣẹ ṣiṣe wiwa, pese agbara lati dín awọn ija idapọmọra ti o bo. Fun apẹẹrẹ, lati fi opin si awọn iṣẹ si itọsọna “foo” nikan, o le pato “git jump merge - foo”, ati lati yọkuro iwe ilana “Documentation” lati sisẹ - “git jump merge - ':^Documentation'”
  • A ti ṣe iṣẹ lati ṣe idiwọn lilo iru “size_t” dipo “pipẹ ti a ko forukọsilẹ” fun awọn iye ti o nsoju iwọn awọn nkan, eyiti o jẹ ki o ṣee ṣe lati lo awọn asẹ “mimọ” ati “smudge” pẹlu awọn faili ti o tobi ju 4 GB lori gbogbo awọn iru ẹrọ, pẹlu awọn iru ẹrọ pẹlu awoṣe data LLP64, iru “pipẹ ti ko forukọsilẹ” ninu eyiti o ni opin si awọn baiti 4.
  • Aṣayan “-empty=(stop|drop|papa)” ti jẹ́ àfikún sí àṣẹ “git am”, èyí tí ó fún ọ láyè láti yan ìhùwàsí fún àwọn ìfiránṣẹ́ òfo tí kò ní àwọ̀ nínú nígbà títú àlẹ̀mọ́ láti inú àpótí ìfìwéránṣẹ́. Iye “idaduro” yoo fopin si gbogbo iṣẹ patching, “ju” yoo fo alemo ti o ṣofo, ati “pa” yoo ṣẹda ifaramo ofo.
  • Atilẹyin ti a ṣafikun fun awọn atọka apakan (itọka ṣoki) si awọn aṣẹ “tunto git”, “git diff”, “git blame”, “git fetch”, “git pull” ati “git ls-files” lati mu iṣẹ ṣiṣe dara si ati fi aaye pamọ sinu awọn ibi ipamọ , ninu eyiti awọn iṣẹ ṣiṣe ti ẹda apa kan (ṣayẹwo-ṣayẹwo) ti ṣe.
  • Aṣẹ “git sparse-checkout init” ti parẹ ati pe o yẹ ki o rọpo nipasẹ “git sparse-checkout set”.
  • Ṣafikun imuse ibẹrẹ ti ifẹhinti “atunṣe” tuntun fun titoju awọn itọkasi gẹgẹbi awọn ẹka ati awọn afi ninu ibi ipamọ. Atilẹyin tuntun nlo ibi ipamọ idina ti a lo nipasẹ iṣẹ akanṣe JGit ati pe o jẹ iṣapeye fun titoju awọn nọmba ti o tobi pupọ ti awọn itọkasi. Afẹyinti ko tii ṣepọ pẹlu eto refs ati pe ko ṣetan fun lilo iṣe.
  • Paleti awọ ti aṣẹ “git grep” ti jẹ atunṣe lati baamu IwUlO grep GNU.

orisun: opennet.ru

Fi ọrọìwòye kun