Toleo la udhibiti wa chanzo cha Git 2.35

Baada ya miezi miwili ya maendeleo, mfumo wa udhibiti wa chanzo uliosambazwa Git 2.35 umetolewa. Git ni mojawapo ya mifumo maarufu zaidi, inayotegemewa na yenye utendakazi wa hali ya juu ya udhibiti wa toleo, ikitoa zana rahisi za ukuzaji zisizo za mstari kulingana na matawi na kuunganisha. Ili kuhakikisha uadilifu wa historia na upinzani dhidi ya mabadiliko yanayorudiwa nyuma, hashing isiyofichika ya historia nzima ya awali inatumika katika kila ahadi; inawezekana pia kuthibitisha lebo za mtu binafsi na ahadi kwa saini za dijiti za wasanidi programu.

Ikilinganishwa na toleo la awali, toleo jipya lilijumuisha mabadiliko 494, yaliyotayarishwa na ushiriki wa watengenezaji 93, ambao 35 walishiriki katika maendeleo kwa mara ya kwanza. Ubunifu kuu:

  • Uwezekano wa kutumia vitufe vya SSH kusaini kidijitali vitu vya Git umepanuliwa. Ili kupunguza muda wa uhalali wa funguo kadhaa, msaada wa maagizo ya OpenSSH "halali-kabla" na "baada ya halali" umeongezwa, ambayo unaweza kuhakikisha kazi sahihi na sahihi baada ya ufunguo kuzungushwa na mmoja wa wasanidi. Kabla ya hili, kulikuwa na shida na mgawanyo wa saini na ufunguo wa zamani na mpya - ikiwa utafuta ufunguo wa zamani, haitawezekana kuthibitisha saini zilizofanywa nayo, na ikiwa utaiacha, basi itabaki iwezekanavyo. unda saini mpya na ufunguo wa zamani, ambao tayari umebadilishwa na ufunguo mwingine. Kwa kutumia halali-kabla na halali-baada ya unaweza kutenganisha upeo wa vitufe kulingana na wakati sahihi iliundwa.
  • Katika mpangilio wa merge.conflictStyle, unaokuwezesha kuchagua hali ya kuonyesha taarifa kuhusu migogoro wakati wa kuunganisha, usaidizi wa hali ya "zdiff3" umeonekana, ambayo husogeza mistari yote ya kawaida iliyoainishwa mwanzoni au mwisho wa mzozo nje ya mzozo. eneo, ambayo inaruhusu kwa uwasilishaji kompakt zaidi wa habari.
  • Hali ya "--staged" imeongezwa kwa amri ya "git stash", ambayo inakuwezesha kuficha mabadiliko tu yaliyoongezwa kwenye index, kwa mfano katika hali wakati unahitaji kuahirisha kwa muda baadhi ya mabadiliko magumu ili kwanza. ongeza kilicho tayari na ushughulikie kilichobaki baada ya muda. Njia hiyo ni sawa na amri ya "git commit", ikiandika tu mabadiliko yaliyowekwa kwenye faharisi, lakini badala ya kuunda ahadi mpya katika "git stash -staged", matokeo yake huhifadhiwa katika eneo la muda la stash. Mara tu mabadiliko yanahitajika, yanaweza kurejeshwa kwa amri ya "git stash pop".
  • Kiainishi kipya cha umbizo kimeongezwa kwa amri ya "git log", "--format=%(describe)", ambayo hukuruhusu kuchanganya matokeo ya "git log" na matokeo ya amri ya "git explain". Vigezo vya "git explain" vimeainishwa moja kwa moja ndani ya kibainishi ("-format=%(describe:match=) ,tenga= )), ambamo unaweza pia kujumuisha lebo zilizofupishwa ("β€”format=%(describe:tags= )") na usanidi idadi ya herufi za hexadecimal kutambua vitu (β€œβ€”format=%(describe:abbrev= )). Kwa mfano, kuorodhesha ahadi 8 za mwisho ambazo lebo zake hazina lebo ya mgombea wa kutolewa, na kubainisha vitambulishi vya herufi 8, unaweza kutumia amri: $ 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-g2edb95c94 v056-2.34.1-g642f56f95 v8-7-2.34.1b203b9b2980902b2.34.1. 640-gb3bd 41bbc212f2.34.1 v639-36-gffb65715f4132d vXNUMX-XNUMX- gdfXNUMXcXNUMXadebXNUMX vXNUMX-XNUMX-gXNUMXbXNUMXaXNUMX
  • Mpangilio wa user.signingKey sasa unaauni aina mpya za funguo ambazo hazizuiliwi na aina ya "ssh-" na kubainisha njia kamili ya faili kwa ufunguo. Aina mbadala zimebainishwa kwa kutumia kiambishi awali cha "ufunguo::", kwa mfano "key::ecdsa-sha2-nistp256" kwa vitufe vya ECDSA.
  • Kasi ya kutoa orodha ya mabadiliko katika hali ya "-histogram", na vile vile wakati wa kutumia chaguo la "-color-moved-ws", ambayo inadhibiti uangazaji wa nafasi katika tofauti ya rangi, imeongezeka kwa kiasi kikubwa.
  • Amri ya "git jump", inayotumiwa kumpa Vim habari kuhusu kuruka haswa kwa nafasi inayotakiwa katika faili wakati wa kuchanganua mizozo ya kuunganisha, kutazama tofauti, au kufanya operesheni ya kutafuta, hutoa uwezo wa kupunguza mizozo ya kuunganisha iliyofunikwa. Kwa mfano, ili kupunguza utendakazi kwa saraka ya "foo" pekee, unaweza kubainisha "git jump merge - foo", na kuwatenga saraka ya "Documentation" kuchakatwa - "git jump merge - ':^Documentation'"
  • Kazi imefanywa kusawazisha utumiaji wa aina ya "size_t" badala ya "muda mrefu ambao haujasainiwa" kwa maadili yanayowakilisha saizi ya vitu, ambayo ilifanya iwezekane kutumia vichungi "safi" na "smudge" na faili kubwa kuliko 4 GB. kwenye mifumo yote, ikijumuisha majukwaa yenye muundo wa data wa LLP64 , aina ya "urefu usio na saini" ambayo ina baiti 4 pekee.
  • Chaguo la "-empty=(acha|acha|weka)" limeongezwa kwa amri ya "git am", ambayo inakuruhusu kuchagua tabia ya jumbe tupu ambazo hazina mabaka wakati wa kuchanganua viraka kutoka kwa kisanduku cha barua. Thamani ya "komesha" itasitisha utendakazi wote wa kubandika, "dondosha" itaruka kiraka tupu, na "weka" itaunda ahadi tupu.
  • Imeongeza usaidizi wa faharisi za sehemu (faharisi ndogo) kwa amri "git reset", "git diff", "git blame", "git fetch", "git pull" na "git ls-files" ili kuboresha utendaji na kuhifadhi nafasi ndani. repositories , ambayo shughuli za cloning sehemu (sparse-checkout) hufanyika.
  • Amri ya "git sparse-checkout init" imeacha kutumika na inapaswa kubadilishwa na "git sparse-checkout set".
  • Imeongeza utekelezaji wa awali wa mandharinyuma "yanayoweza kubadilishwa" ya kuhifadhi marejeleo kama vile matawi na lebo kwenye hazina. Njia mpya ya nyuma hutumia hifadhi ya block inayotumiwa na mradi wa JGit na imeboreshwa kwa kuhifadhi idadi kubwa sana ya marejeleo. Sehemu ya nyuma bado haijaunganishwa na mfumo wa refs na haiko tayari kwa matumizi ya vitendo.
  • Paleti ya rangi ya amri ya "git grep" imerekebishwa ili kufanana na matumizi ya GNU grep.

Chanzo: opennet.ru

Kuongeza maoni