Git 2.36 jau ir izlaists, un tie ir tā jaunumi

Pēc trīs mēnešu attīstības tika izlaista jaunā sistēmas versija izplatītā pirmkoda kontrole «Git 2.36» viena no populārākajām, uzticamākajām un augstas veiktspējas versiju kontroles sistēmām, kas nodrošina elastīgus nelineārus izstrādes rīkus, kuru pamatā ir dakšas un dakšu sapludinājumi.

Lai nodrošinātu vēstures integritāti un noturību pret "atpakaļējām" izmaiņām, katrā apņemšanā tiek izmantota visas iepriekšējās vēstures netiešā jaukšana. Ir iespējams arī pārbaudīt atsevišķu etiķešu un apstiprinājumu izstrādātāju digitālos parakstus.

Git 2.36 galvenās jaunās funkcijas

Salīdzinot ar iepriekšējo laidienu, jaunajā versijā, kas sagatavota, piedaloties 717 izstrādātājiem, tika pieņemtas 96 izmaiņas, no kurām 26 izstrādē piedalījās pirmo reizi. Galvenās inovācijas:

Izvēle “–remerge-diff” ir pievienots komandām “git log” un “git show”, lai parādītu atšķirības starp kopējo sapludināšanas rezultātu un faktiskajiem datiem, kas atspoguļoti apņemšanā pēc komandas "merge" apstrādes, kas ļauj vizuāli novērtēt sapludināšanas konflikta risināšanas rezultātā veiktās izmaiņas. Parastā komanda “git show” atdala dažādus konfliktu risinājumus ar atkāpi, padarot izmaiņas grūti saprotamas.

Izmantojot opciju “–atkārtot-diff”, atšķirības starp konfliktu atrisināšanas risinājumiem nav atdalītas katrai vecākzarai, bet tiek parādītas kopējās atšķirības starp failu, kurā ir sapludināšanas konflikti, un failu, kurā ir atrisināti konflikti.

Vēl viena ievērojama izmaiņa ir uzlabota uzvedības pielāgošanas elastība no diska kešatmiņas izskalošanas, izmantojot funkcijas fsync() izsaukumu. Parametrs core.fsyncObjectFiles iepriekš pieejamais ir sadalīts divos konfigurācijas mainīgajos core.fsync un core.fsyncMethod, kas nodrošina iespēju lietot fsync ne tikai objektu failiem (.git/objects), bet arī citām git struktūrām, piemēram, refs (.git /refs), reflog un pakotņu failiem.

caur mainīgo core.fsync, varat norādīt iekšējo Git struktūru sarakstu, pēc rakstīšanas darbības, kurai papildus tiks izsaukts fsync. Mainīgais core.fsyncMethod ļauj atlasīt metodi kešatmiņas izskalošanai, piemēram, varat atlasīt fsync, lai izmantotu tāda paša nosaukuma sistēmas izsaukumu, vai norādīt tikai rakstīšanu, lai izmantotu gaidošo slinko rakstīšanu (lapas kešatmiņas lazywriting).

Lai aizsargātu pret ievainojamību kas apstrādā .git direktoriju aizstāšanu ar citiem lietotājiem koplietotajos nodalījumos, ir pastiprināta repozitorija īpašnieka pārbaude. Tagad ir atļauta tikai jebkuru git komandu palaišana savos ".git" direktorijos. Ja repozitorija direktorijs pieder citam lietotājam, pēc noklusējuma tiks ģenerēta kļūda. Šo darbību var atspējot, izmantojot drošā direktorija iestatījumu.

Tas ir arī izcelts pievienota opcija “–batch-command” komandai “git cat-file”, kas paredzēts Git objektu oriģinālā satura ģenerēšanai, papildinot komandas “–partija” un “–partijas pārbaude” iepriekš bija pieejams ar iespēju adaptīvi izvēlēties izvades veidu, izmantojot “content » lai parādītu saturu vai «informāciju » lai parādītu informāciju par objektu. Tāpat tiek atbalstīta komanda "flush", lai izskalotu izvades buferi.

No otras puses, tas ir izcelts pievienota opcija “-oid-only” (“-object-only”) komandai "git ls-tree", kas paredzēta, lai uzskaitītu objektu koka saturu, kas pēc analoģijas ar "–name -only" parāda tikai objektu identifikatorus, lai vienkāršotu izsaukumus no skriptiem. Ir ieviesta arī opcija “–format”, kas ļauj definēt savu izvades formātu, apvienojot informāciju par režīmu, veidu, nosaukumu un izmēru.

No pārējām izmaiņām kas izceļas no šīs jaunās versijas:

  • Komandā "git bisect run" ir ieviesta definīcija, ka šajā gadījumā skriptam nav jāiestata izpildāmā faila zīme un jāģenerē kļūdas ar kodiem 126 vai 127 (iepriekš, ja skriptu nevarēja izpildīt, visi pārskati bija atzīmēts kā problēmas).
  • Komandai “git fetch” ir pievienota opcija “–refetch”, lai ielādētu visus objektus, neinformējot otru pusi par saturu, kas jau atrodas vietējā sistēmā. Šī darbība var būt noderīga, lai atjaunotu stāvokli pēc kļūmēm, ja ir neskaidrības par vietējo datu integritāti.
  • Komandas "git update-index", "git checkout-index", "git read-tree" un "git clean" tagad atbalsta daļēju indeksēšanu (rets indekss), lai uzlabotu veiktspēju un ietaupītu vietu krātuvēs, kas veic daļējas darbības. (slikts maksājums).
  • Mainīta komandas "git clone --filter=... --recurse-submodules" uzvedība, kas tagad noved pie daļējas apakšmoduļu klonēšanas (iepriekš, izpildot šādas komandas, filtrs tika lietots tikai galvenajam saturam un apakšmoduļi tika pilnībā klonēti, neņemot vērā filtru).
  • Pievienots atbalsts filtru norādīšanai satura selektīvai izvietošanai komandā "git bundle", līdzīgi kā daļējām klonēšanas darbībām.
  • Komandai “git branch” ir pievienota opcija “–recurse-submodules”, lai rekursīvi šķērsotu apakšmoduļus.
    Userdiff ir ierosinājis jaunu draiveri Kotlin valodai.

Beidzot ja jūs interesē uzzināt vairāk par to Par šo jauno Git 2.36 versiju varat skatīt sīkāku informāciju šo saiti.


Raksta saturs atbilst mūsu principiem redakcijas ētika. Lai ziņotu par kļūdu, noklikšķiniet uz šeit.

Esi pirmais, kas komentārus

Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta.

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.