Git 2.36 har redan släppts och det här är dess nyheter

Efter tre månaders utveckling den nya versionen av systemet släpptes av distribuerad källkodskontroll «Git 2.36» ett av de mest populära, pålitliga och högpresterande versionskontrollsystemen som tillhandahåller flexibla icke-linjära utvecklingsverktyg baserade på gafflar och sammanslagningar av gafflar.

För att säkerställa historiens integritet och motstånd mot "bakåtriktade" förändringar, används den implicita hashen av all tidigare historia på varje commit. Det är också möjligt att verifiera de digitala signaturerna från utvecklarna av individuella etiketter och bekräftelser.

Git 2.36 Viktiga nya funktioner

Jämfört med den tidigare utgåvan accepterades 717 ändringar i den nya versionen, beredd med deltagande av 96 utvecklare, varav 26 deltog i utvecklingen för första gången. Huvudsakliga innovationer:

Alternativet “–remerge-diff” lagt till “git log” och “git show” kommandon för att visa skillnader mellan det övergripande resultatet av sammanslagningen och de faktiska data som återspeglas i commit efter bearbetning av kommandot "merge", vilket låter dig visuellt bedöma ändringarna som gjorts som ett resultat av sammanslagningskonfliktlösning. Det vanliga "git show"-kommandot separerar de olika konfliktlösningarna med indrag, vilket gör ändringar svåra att förstå.

När du använder alternativet “–remerge-diff”, separeras inte skillnaderna mellan konfliktlösningar för varje överordnad gren, men de övergripande skillnaderna mellan en fil som har sammanslagningskonflikter och en fil som har löst konflikter visas.

En annan anmärkningsvärd förändring är förbättrad flexibilitet i beteendeanpassning från att tömma diskcacher via funktionsanropet fsync(). Parameter core.fsyncObjectFiles tidigare tillgängliga har delats upp i två konfigurationsvariabler core.fsync och core.fsyncMethod, som ger möjligheten att tillämpa fsync inte bara på objektfiler (.git/objects), utan också på andra git-strukturer som refs ( .git /refs), reflog och paketfiler.

via variabel core.fsync, kan du specificera en lista med interna Git-strukturer, efter skrivoperationen, för vilken fsync dessutom kommer att anropas. Variabeln core.fsyncMethod låter dig välja en metod för att tömma cachen, till exempel kan du välja fsync för att använda systemanropet med samma namn, eller ange skrivskydd för att använda väntande lazywriting (sidcache lazywriting).

För att skydda mot sårbarheter som hanterar ersättning av .git-kataloger av andra användare på delade partitioner, verifiering av förvarsägare har förstärkts. Nu är det bara tillåtet att köra git-kommandon i deras egna ".git"-kataloger. Om förvarskatalogen ägs av en annan användare kommer ett fel att genereras som standard. Detta beteende kan inaktiveras med inställningen för säker katalog.

Det framhävs också att lagt till "–batch-command"-alternativet till kommandot "git cat-file", som är avsett att generera det ursprungliga innehållet i Git-objekten, som kompletterar kommandona "–batch" och "–batch-check" tidigare tillgänglig med möjlighet att adaptivt välja utdatatyp via "content » för att visa innehåll eller «info » för att visa information om objektet. Ett "flush"-kommando stöds också för att spola ut bufferten.

Å andra sidan framhålls det lagt till "–oid-only"-alternativ ("–object-only") till kommandot "git ls-tree", som är utformat för att lista innehållet i ett träd av objekt som, i analogi med "–name -only", endast visar objektidentifierare för att förenkla anrop från skript. Alternativet "–format" är också implementerat, vilket låter dig definiera ditt eget utdataformat genom att kombinera läge, typ, namn och storleksinformation.

Av de andra förändringarna som sticker ut från den här nya versionen:

  • I kommandot "git bisect run" implementeras definitionen av att inte ställa in tecknet för en körbar fil för skriptet och generera fel med koderna 126 eller 127 i detta fall (tidigare, om skriptet inte kunde köras, var alla recensioner markerade som problem).
  • Lade till alternativet "–refetch" till kommandot "git fetch" för att hämta alla objekt utan att informera den andra sidan av innehållet som redan finns på det lokala systemet. Det här beteendet kan vara användbart för att återställa tillståndet efter fel när det råder osäkerhet om integriteten hos den lokala datan.
  • Kommandona "git update-index", "git checkout-index", "git read-tree" och "git clean" stöder nu partiell indexering (gles index) för att förbättra prestanda och spara utrymme på arkiv som utför partiella operationer. (dålig betalning).
  • Ändrade beteendet för kommandot "git clone --filter=... --recurse-submodules", vilket nu leder till partiell kloning av undermoduler (tidigare, när sådana kommandon kördes, tillämpades filtret endast på huvudinnehållet och undermodulerna var helt klonas utan att ta hänsyn till filtret).
  • Lade till stöd för att specificera filter för selektiv placering av innehåll i kommandot "git bundle", liknande partiella klonoperationer.
  • Lade till alternativet "–recurse-submodules" till kommandot "git branch" för att gå igenom undermoduler rekursivt.
    Userdiff har föreslagit en ny drivrutin för Kotlin-språket.

Slutligen om du är intresserad av att veta mer om det om denna nya version av Git 2.36 kan du se detaljerna i följande länk.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.