Git 2.36 er allerede utgitt, og dette er nyhetene

Etter tre måneders utvikling den nye versjonen av systemet ble utgitt av distribuert kildekodekontroll «git 2.36» et av de mest populære, pålitelige og høyytelses versjonskontrollsystemene som gir fleksible ikke-lineære utviklingsverktøy basert på gafler og sammenslåinger av gafler.

For å sikre historiens integritet og motstand mot "bakover" endringer, brukes den implisitte hasjen av all tidligere historie på hver forpliktelse. Det er også mulig å verifisere de digitale signaturene til utviklerne av individuelle etiketter og bekreftelser.

Git 2.36 Viktige nye funksjoner

Sammenlignet med forrige utgivelse ble 717 endringer akseptert i den nye versjonen, utarbeidet med deltagelse av 96 utviklere, hvorav 26 deltok i utviklingen for første gang. Hovedinnovasjoner:

Alternativet "–remerge-diff" lagt til "git log" og "git show" kommandoer for å vise forskjeller mellom det overordnede resultatet av sammenslåingen og de faktiske dataene som reflekteres i forpliktelsen etter å ha behandlet kommandoen "flette", som lar deg visuelt vurdere endringene som er gjort som et resultat av sammenslåingskonfliktløsning. Den vanlige "git show"-kommandoen skiller de forskjellige konfliktløsningene med innrykk, noe som gjør endringer vanskelig å forstå.

Når du bruker alternativet "--remerge-diff", er forskjellene mellom konfliktløsninger ikke atskilt for hver overordnede gren, men de generelle forskjellene mellom en fil som har flettekonflikter og en fil som har løst konflikter vises.

En annen bemerkelsesverdig endring er forbedret fleksibilitet i atferdstilpasning fra å tømme diskcacher via funksjonskallet fsync(). Parameter core.fsyncObjectFiles tidligere tilgjengelig har blitt delt inn i to konfigurasjonsvariabler core.fsync og core.fsyncMethod, som gir muligheten til å bruke fsync ikke bare på objektfiler (.git/objects), men også på andre git-strukturer som refs ( .git /refs), reflog og pakkefiler.

via variabel core.fsync, kan du spesifisere en liste over interne Git-strukturer, etter skriveoperasjonen, som fsync i tillegg kalles for. Variabelen core.fsyncMethod lar deg velge en metode for å tømme hurtigbufferen, for eksempel kan du velge fsync for å bruke systemkallet med samme navn, eller spesifisere skrivebeskyttet for å bruke ventende lazywriting (side cache lazywriting).

For å beskytte mot sårbarheter som håndterer erstatning av .git-kataloger av andre brukere på delte partisjoner, verifisering av depoteier er styrket. Nå er det kun tillatt å kjøre noen git-kommandoer i deres egne ".git"-kataloger. Hvis depotkatalogen eies av en annen bruker, vil en feil genereres som standard. Denne virkemåten kan deaktiveres ved å bruke innstillingen for sikker katalog.

Det er også fremhevet at lagt til "–batch-command"-alternativet til "git cat-file"-kommandoen, som er ment å generere det originale innholdet til Git-objekter, som komplementerer kommandoene "–batch" og "–batch-check" tidligere tilgjengelig med muligheten til å tilpasse utdatatype via "innhold » for å vise innhold eller «info » for å vise informasjon om objektet. Dessuten støttes en "flush"-kommando for å tømme utgangsbufferen.

På den annen side er det fremhevet det lagt til «–oid-only»-alternativet («–object-only») til "git ls-tree"-kommandoen, som er designet for å liste innholdet i et tre med objekter som, analogt med "–name -only", viser kun objektidentifikatorer for å forenkle anrop fra skript. Alternativet "–format" er også implementert, som lar deg definere ditt eget utdataformat ved å kombinere informasjon om modus, type, navn og størrelse.

Av de andre endringene som skiller seg ut fra denne nye versjonen:

  • I "git bisect run"-kommandoen er definisjonen av å ikke sette tegnet på en kjørbar fil for skriptet og generere feil med kodene 126 eller 127 i dette tilfellet implementert (tidligere, hvis skriptet ikke kunne kjøres, ble alle gjennomganger merket som har problemer).
  • Lagt til "–refetch"-alternativet til "git fetch"-kommandoen for å hente alle objekter uten å informere den andre siden av innholdet som allerede er på det lokale systemet. Denne virkemåten kan være nyttig for å gjenopprette tilstanden etter feil når det er usikkerhet om integriteten til de lokale dataene.
  • Kommandoene "git update-index", "git checkout-index", "git read-tree" og "git clean" støtter nå delvis indeksering (sparse index) for å forbedre ytelsen og spare plass på repositories som utfører delvise operasjoner. (dårlig betaling).
  • Endret oppførsel til kommandoen "git clone --filter=... --recurse-submodules", som nå fører til delvis kloning av undermoduler (tidligere, når slike kommandoer ble utført, ble filteret bare brukt på hovedinnholdet og undermodulene var fullstendig klonet uten å ta hensyn til filteret).
  • Lagt til støtte for å spesifisere filtre for selektiv plassering av innhold i "git bundle"-kommandoen, i likhet med delvise kloneoperasjoner.
  • Lagt til "–recurse-submodules"-alternativet til "git branch"-kommandoen for å krysse undermoduler rekursivt.
    Userdiff har foreslått en ny driver for Kotlin-språket.

Endelig hvis du er interessert i å vite mer om det om denne nye versjonen av Git 2.36 kan du se detaljene i følgende lenke.


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.