Git 2.36 er allerede frigivet, og det er dens nyheder

Efter tre måneders udvikling den nye version af systemet blev frigivet af distribueret kildekodekontrol «Git 2.36»et af de mest populære, pålidelige og højtydende versionskontrolsystemer, der giver fleksible ikke-lineære udviklingsværktøjer baseret på gafler og sammensmeltninger af gafler.

For at sikre historiens integritet og modstand mod "bagudgående" ændringer, bruges den implicitte hash af al tidligere historie på hver commit. Det er også muligt at verificere de digitale signaturer fra udviklerne af individuelle etiketter og bekræftelser.

Git 2.36 Nøgle nye funktioner

Sammenlignet med den tidligere udgivelse blev 717 ændringer accepteret i den nye version, udarbejdet med deltagelse af 96 udviklere, hvoraf 26 deltog i udviklingen for første gang. Vigtigste innovationer:

Valget "–remerge-diff" tilføjet til "git log" og "git show" kommandoer for at vise forskelle mellem det overordnede resultat af fusionen og de faktiske data, der afspejles i commit efter behandling af "flet"-kommandoen, som giver dig mulighed for visuelt at vurdere de ændringer, der er foretaget som følge af fusionskonfliktløsning. Den sædvanlige "git show"-kommando adskiller de forskellige konfliktløsninger med indrykning, hvilket gør ændringer svære at forstå.

Når du bruger muligheden “–remerge-diff”, er forskellene mellem konfliktløsninger ikke adskilt for hver overordnet gren, men de overordnede forskelle mellem en fil, der har flettekonflikter, og en fil, der har løst konflikter, vises.

En anden bemærkelsesværdig ændring er forbedret fleksibilitet i adfærdstilpasning fra at tømme diskcaches via funktionskaldet fsync(). Parameter core.fsyncObjectFiles tidligere tilgængelige er blevet opdelt i to konfigurationsvariabler core.fsync og core.fsyncMethod, som giver mulighed for at anvende fsync ikke kun på objektfiler (.git/objects), men også til andre git-strukturer såsom refs (.git /refs), reflog og pakkefiler.

via variabel core.fsync, kan du angive en liste over interne Git-strukturer, efter skriveoperationen, for hvilken fsync yderligere vil blive kaldt. Variablen core.fsyncMethod giver dig mulighed for at vælge en metode til at tømme cachen, for eksempel kan du vælge fsync for at bruge systemkaldet af samme navn, eller angive skrivebeskyttet for at bruge ventende lazywriting (side cache lazywriting).

For at beskytte mod sårbarheder der håndterer udskiftning af .git-mapper af andre brugere på delte partitioner, verifikation af depotejer er blevet styrket. Nu er det kun tilladt at køre nogen git-kommandoer i deres egne ".git"-mapper. Hvis lagerbiblioteket ejes af en anden bruger, vil der som standard blive genereret en fejl. Denne adfærd kan deaktiveres ved hjælp af indstillingen for sikker mappe.

Det fremhæves også, at tilføjet "–batch-command" mulighed til kommandoen "git cat-file", som er beregnet til at generere det originale indhold af Git-objekter, som komplementerer kommandoerne "–batch" og "–batch-check" tidligere tilgængelig med mulighed for adaptivt at vælge outputtype via "indhold » for at vise indhold eller «info » for at vise information om objektet. Også en "flush"-kommando understøttes for at tømme outputbufferen.

På den anden side fremhæves det tilføjet "–oid-only" mulighed ("–objekt-kun") til kommandoen "git ls-tree", som er designet til at liste indholdet af et træ af objekter, som analogt med "–name -only", kun viser objektidentifikatorer for at forenkle opkald fra scripts. Muligheden "--format" er også implementeret, som giver dig mulighed for at definere dit eget outputformat ved at kombinere tilstand, type, navn og størrelsesinformation.

Af de andre ændringer der skiller sig ud fra denne nye version:

  • I kommandoen "git bisect run" er definitionen af ​​ikke at angive tegnet for en eksekverbar fil for scriptet og generere fejl med kode 126 eller 127 i dette tilfælde (tidligere, hvis scriptet ikke kunne udføres, blev alle anmeldelser markeret med problemer).
  • Tilføjet "–refetch"-mulighed til kommandoen "git fetch" for at hente alle objekter uden at informere den anden side af indholdet, der allerede er på det lokale system. Denne adfærd kan være nyttig til at genoprette tilstanden efter fejl, når der er usikkerhed om integriteten af ​​de lokale data.
  • Kommandoerne "git update-index", "git checkout-index", "git read-tree" og "git clean" understøtter nu delvis indeksering (sparse index) for at forbedre ydeevnen og spare plads på depoter, der udfører delvise operationer. (dårlig betaling).
  • Ændret adfærd for kommandoen "git clone --filter=... --recurse-submodules", som nu fører til delvis kloning af undermoduler (tidligere, når sådanne kommandoer blev udført, blev filteret kun anvendt på hovedindholdet, og undermoduler var fuldstændigt klonet uden at tage hensyn til filteret).
  • Tilføjet understøttelse for at specificere filtre til selektiv placering af indhold i "git bundle"-kommandoen, svarende til delvise klonoperationer.
  • Tilføjet "–recurse-submodules"-mulighed til "git branch"-kommandoen for at krydse undermoduler rekursivt.
    Userdiff har foreslået en ny driver til Kotlin-sproget.

Endelig hvis du er interesseret i at vide mere om det om denne nye version af Git 2.36 kan du se detaljerne i følgende link.


Vær den første til at kommentere

Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.