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

Programmas palaišana jaunā versija Git 2.37, kas ir viens no populārākās versiju kontroles sistēmas, uzticama un augstas veiktspējas programmatūra, kas nodrošina elastīgus nelineārus izstrādes rīkus, kuru pamatā ir dakšas un dakšu apvienošana.

Lai nodrošinātu vēstures integritāti un noturību pret izmaiņām, katrā commit reizē tiek izmantots visas iepriekšējās vēstures "atpakaļējais" implicītais hash, kā arī ir iespējams pārbaudīt atsevišķu tagu un apņemšanās izstrādātāju digitālos parakstus.

Git 2.37 galvenās jaunās funkcijas

Salīdzinot ar iepriekšējo versiju, Jaunajā versijā tika pieņemtas 395 izmaiņas, sagatavots, piedaloties 75 izstrādātājiem, no kuriem 20 izstrādē piedalījās pirmo reizi.

Šajā jaunajā versijā tas ir izcelts daļējo indeksu mehānisms (rets indekss), kas aptver tikai daļu no repozitorija, se ir sagatavots plašai lietošanai. Daļēji indeksi var uzlabot veiktspēju un ietaupīt vietu krātuvēs, kas veic daļējas klonēšanas darbības (reta izrakstīšanās) vai darbojas ar nepilnīgu repozitorija kopiju.

Jaunā versija pabeidz darbu ar daļēju indeksu integrēšana komandās "git show", "git sparse-checkout" un "git atlicināt". Visievērojamākais veiktspējas pieaugums, izmantojot daļējus indeksus, ir komandā "git stash", kas dažās situācijās ir līdz pat 80% ātrāka.

Vēl viena izceļa ir tā ir ieviests jauns “cruft pack” mehānisms iesaiņot nesasniedzamus objektus, uz kuriem nav atsauces repozitorijā (nav norādīti zari vai tagi). Atkritumu savācējs izdzēš nesasniedzamos objektus, taču tie kādu laiku paliek krātuvē pirms dzēšanas, lai izvairītos no sacensību apstākļiem. Lai izsekotu nesasniedzamo objektu periodu, ir nepieciešama iesiešana, tiem ir marķēts ar līdzīgu objektu maiņas laiku, kas neļauj tos glabāt paketes failā, kurā visiem objektiem ir kopīgs modifikācijas laiks.

Saglabājot katru iepriekš izmantoto objektu atsevišķā failā, fails radīja problēmas liela skaita jaunu nesasniedzamu objektu klātbūtnē, vēl ne. Piedāvātais "cruft packs" mehānisms ļauj visus nesasniedzamos objektus glabāt paketes failā, un dati par katra objekta modifikācijas laiku tiek atspoguļoti atsevišķā tabulā, kas tiek glabāta failā ar paplašinājumu ".mtimes".

Operētājsistēmām Windows un macOS ir iebūvēts mehānisms lai sekotu līdzi izmaiņām failu sistēmā, kuras novērš nepieciešamību uzskaitīt visu darba direktoriju veicot tādas darbības kā "git statuss". Iepriekš, lai izsekotu izmaiņām, izmantojot āķus, varējāt pievienot ārējās failu sistēmas izmaiņu izsekošanas utilītas, piemēram, Watchman, taču tas prasīja papildu programmu un konfigurāciju instalēšanu. Šī funkcionalitāte tagad ir iebūvēta, un to var iespējot ar "git config core.fsmonitor true".

Komanda "git sparse-checkout" vairs neatbalsta alternatīvu "--cone" režīmam veidnes definīcija daļējai klonēšanai, kas ļauj, definējot to repozitorija daļu, uz kuru attiecas klonēšanas darbība, uzskaitīt atsevišķus failus, izmantojot ".gitignore" sintaksi, kas neļauj izmantot daļēju indeksu optimizēšanai.

No pārējām izmaiņām kas izceļas:

  • Uzlabota elastība, konfigurējot fsync() izsaukumu, lai izskalotu izmaiņas diskā.
  • Parametram "core.fsyncMethod" ir pievienots atbalsts "pakešu" sinhronizācijas stratēģijai, kas paātrina darbu, rakstot lielu skaitu atsevišķu failu, uzkrājot izmaiņas pārrakstīšanas kešatmiņā, ko izskalo viens fsync() izsaukums.
  • Apmeklēšanas komandām, piemēram, “git log” un “git rev-list”, tagad ir opcija “–since-as-filter=X”, lai filtrētu informāciju par saistībām, kas vecākas par “X”.
  • Komandā "git remote", norādot karogu "-v", tiek sniegta informācija par daļējiem repozitorija kloniem.
  • Pievienots iestatījums "transfer.credentialsInUrl", kas var iegūt vērtības "warn", "die" un "allow". Ja parametrs “remote. .url” norāda akreditācijas datus vienkāršā tekstā, mēģinājums veikt darbības “get” vai “push” neizdosies, ja “transfer.credentialsInUrl” iestatījums ir iestatīts uz “die”, vai brīdinājums, ja tas ir iestatīts uz “brīdināt” .
  • Pēc noklusējuma tiek izmantota jaunā komandas "git add -i" interaktīvā režīma ieviešana, kas pārrakstīta no Perl uz C.

Beidzot ja jūs interesē uzzināt vairāk par to, varat pārbaudīt informāciju Šajā saitē.


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  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.