Git 2.35 frumstýringarútgáfa

Eftir tveggja mánaða þróun hefur dreifða heimildastýringarkerfið Git 2.35 verið gefið út. Git er eitt vinsælasta, áreiðanlegasta og afkastamesta útgáfustýringarkerfið, sem býður upp á sveigjanleg ólínuleg þróunarverkfæri sem byggjast á greiningu og sameiningu. Til að tryggja heilleika sögunnar og mótstöðu gegn afturvirkum breytingum, er óbein hashing á allri fyrri sögu notað í hverri skuldbindingu; það er líka hægt að votta einstök merki og skuldbindingar með stafrænum undirskriftum þróunaraðila.

Í samanburði við fyrri útgáfu innihélt nýja útgáfan 494 breytingar, unnar með þátttöku 93 þróunaraðila, þar af 35 sem tóku þátt í þróun í fyrsta skipti. Helstu nýjungar:

  • Möguleikarnir á að nota SSH lykla til að undirrita Git hluti stafrænt hafa verið stækkaðir. Til að takmarka gildistíma nokkurra lykla hefur verið bætt við stuðningi við OpenSSH tilskipanirnar „gildur-áður“ og „gildur-eftir“, með þeim er hægt að tryggja rétta vinnu með undirskriftir eftir að lyklinum hefur verið snúið af einum af þróunaraðilum. Fyrir þetta var vandamál með aðskilnað undirskrifta með gamla og nýja lyklinum - ef þú eyðir gamla lyklinum verður ómögulegt að sannreyna undirskriftirnar sem gerðar eru með honum og ef þú skilur það eftir, þá verður áfram hægt að búa til nýjar undirskriftir með gamla lyklinum, sem þegar hefur verið skipt út fyrir annan lykil. Með því að nota gilt-fyrir og gilt-eftir geturðu aðskilið umfang lyklanna miðað við tímann sem undirskriftin var búin til.
  • Í merge.conflictStyle stillingunni, sem gerir þér kleift að velja stillingu til að birta upplýsingar um árekstra meðan á sameiningu stendur, hefur stuðningur við „zdiff3“ stillinguna birst, sem færir allar staðlaðar línur sem tilgreindar eru í upphafi eða lok átaka út fyrir átökin. svæði, sem gerir ráð fyrir þéttari framsetningu upplýsinga.
  • „--stage“ stillingunni hefur verið bætt við „git stash“ skipunina, sem gerir þér kleift að fela aðeins breytingar sem bætt er við vísitöluna, til dæmis í aðstæðum þar sem þú þarft tímabundið að fresta einhverjum af flóknu breytingunum til að fyrst bæta við því sem þegar er tilbúið og takast á við afganginn eftir smá stund. Stillingin er svipuð og „git commit“ skipunin, skrifar aðeins breytingarnar sem settar eru inn í vísitöluna, en í stað þess að búa til nýja commit í „git stash —stage“ er niðurstaðan geymd í tímabundnu geymslusvæðinu. Þegar breytinganna er þörf er hægt að snúa þeim til baka með „git stash pop“ skipuninni.
  • Nýr sniðaforskrift hefur verið bætt við "git log" skipunina, "--format=%(describe)", sem gerir þér kleift að sameina úttak "git log" við úttak "git describe" skipunarinnar. Færibreyturnar fyrir "git describe" eru tilgreindar beint inni í forskriftinni ("-format=%(describe:match= ,útiloka= )"), þar sem þú getur einnig haft stytt merki ("—format=%(describe:tags= )") og stilltu fjölda sextánsstafa til að auðkenna hluti ("—format=%(describe:abbrev= )"). Til dæmis, til að skrá síðustu 8 commits þar sem merkin eru ekki með útgáfu merki, og tilgreina 8 stafa auðkenni, geturðu notað skipunina: $ git log -8 —format='%(describe:exclude=*-rc *,abbrev=13 )' v2.34.1-646-gaf4e5f569bc89 v2.34.1-644-g0330edb239c24 v2.33.1-641-g15f002812f858 v2.34.1-643.abg-2d -gb95bd 94bbc056f2.34.1 v642-56-gffb95f8d v7-2.34.1- gdf203c9adeb2980902 v2.34.1-640-g3b41a212
  • User.signingKey stillingin styður nú nýjar gerðir lykla sem eru ekki takmarkaðar við „ssh-“ gerðina og tilgreina alla skráarslóðina að lyklinum. Aðrar gerðir eru tilgreindar með "key::" forskeytinu, til dæmis "key::ecdsa-sha2-nistp256" fyrir ECDSA lykla.
  • Hraðinn við að búa til lista yfir breytingar á „-súluriti“ hamnum, sem og þegar „-color-moved-ws“ valmöguleikinn er notaður, sem stjórnar auðkenningu rýma í litamun, hefur verið áberandi aukinn.
  • "git jump" skipunin, notuð til að veita Vim upplýsingar um nákvæma stökkið á æskilega staðsetningu í skrá þegar samrunaárekstrar eru flokkaðir, skiptingar eru skoðaðar eða leitaraðgerðir eru framkvæmdar, veitir möguleika á að þrengja samrunaátökin sem fjallað er um. Til dæmis, til að takmarka aðgerðir við "foo" möppuna, geturðu tilgreint "git jump merge - foo", og til að útiloka "Documentation" möppuna frá vinnslu - "git jump merge - ':^Documentation'"
  • Unnið hefur verið að því að staðla notkun „size_t“ gerðarinnar í stað „unsigned long“ fyrir gildi sem tákna stærð hluta, sem gerði það mögulegt að nota „hreinar“ og „smudge“ síur með skrám stærri en 4 GB á öllum kerfum, þar með talið kerfum með LLP64 gagnalíkaninu, tegundinni „unsigned long“ þar sem takmarkast við 4 bæti.
  • “-empty=(stopp|drop|keep)” valkostinum hefur verið bætt við “git am” skipunina, sem gerir þér kleift að velja hegðun fyrir tóm skilaboð sem innihalda ekki plástra þegar plástra úr pósthólfinu eru flokkuð. Gildið „stopp“ mun stöðva alla plásturaðgerðina, „drop“ mun sleppa tómum plástri og „keep“ mun búa til tóman commit.
  • Bætti við stuðningi fyrir hlutavísitölur (sparse index) við skipanirnar "git reset", "git diff", "git blame", "git fetch", "git pull" og "git ls-files" til að bæta árangur og spara pláss í repositories , þar sem klónunaraðgerðir að hluta (sparse-checkout) eru framkvæmdar.
  • "git sparse-checkout init" skipunin hefur verið úrelt og ætti að skipta út fyrir "git sparse-checkout set".
  • Bætti við upphaflegri útfærslu á nýjum „reftable“ bakenda til að geyma tilvísanir eins og útibú og merki í geymslunni. Nýi stuðningurinn notar blokkargeymslu sem notuð er af JGit verkefninu og er fínstillt til að geyma mjög mikinn fjölda tilvísana. Bakendinn er ekki enn samþættur refs kerfinu og er ekki tilbúinn til hagnýtrar notkunar.
  • Litapalletta „git grep“ skipunarinnar hefur verið stillt til að passa við GNU grep tólið.

Heimild: opennet.ru

Bæta við athugasemd