Släppte den nya versionen av Git 2.22 och det här är dess förändringar

gå

Lanseringen av den nya versionen av Git 2.22 presenterades. Git är ett av de mest populära, pålitliga och högpresterande versionshanteringssystemen , och det tillhandahåller även utvecklingsverktyg.

För att säkerställa historiens integritet och motståndet mot förändring i efterhand, används implicit hashing av all tidigare historia i varje commit, och utvecklarnas digitala signaturer av individuella taggar och commits kan också verifieras.

Jämfört med den tidigare versionen gjordes 745 ändringar i den nya versionen, som utarbetades med deltagande av 74 utvecklare, varav 18 deltog i utvecklingen för första gången.

Git 2.22 Viktiga nya funktioner

För att visa den lokala grenen som används för närvarande kan du nu använda kommandot "git branch-show-current ".

Dessutom, sedan version 1.18, finns det nya överföringsläget för commit-uppsättningen " git rebase --rebase-merges " tillgängligt , vilket har ersatt det tidigare alternativet " --preserve-merges ", vilket nu är markerat som föråldrat.

För att bevara grenstrukturen i en portabel gren kan du använda alternativet " --preserve-merges ", vilket, när det startades i interaktivt läge ( git rebase -i --preserve-merges ), tillät redigering av commit-historiken, men garanterade inte fullständig bevaring av arkivstrukturen.

Efterföljarläget " --rebase-merges " låter dig bevara strukturen för ändringar i den portabla grenen, samtidigt som det tillhandahåller en komplett uppsättning interaktiva operationer, inklusive att ta bort, ordna om och byta namn på commits.

Till exempel tillåter " --rebase-merges " commits från en fristående gren till en nyare huvudgren, samtidigt som grenstrukturen i den portabla grenen bibehålls och vissa ändringar görs i anteckningarna för att committa dem i realtid.

Operationen " git rebase " används för att ersätta en serie commits med en ny bascommit, till exempel för att ändra en separat gren där någon ny funktion utvecklas till huvudgrenens nuvarande tillstånd, inklusive eventuella korrigeringar som lagts till efter grenen.

Sublimt backend-stöd

Rapporten ` git bisect` har uppdaterats och är nu mer lättläst , medan ` git mergetool` nu också stöder Sublime Merge (` smerge` ) som backend. Git anropar den nya hooken ` post-index-change` när den lagrade indexfilen ändras, vilket hjälper till med virtualiserade arbetsträd.

Dessutom körs " git difftoo l" nu även utanför ett repository och avbryter " git checkout -m <other> " när den upptäcker en skillnad mellan HEAD och index.

Eftersom packning av index ibland tar lång tid i kloningsprocessen har utvecklarna gett steget en förloppsindikator.

Samtidigt kommunicerar ` git clone` via version 2 av protokollet tack vare det nya serveralternativet ` switch` . Flera funktioner förbättrar kodkompletteringen, och utvecklarna har också arbetat med spårningsverktyget trace2.

Den nya spårningsmekanismen Trace2 erbjuder ett mer flexibelt och strukturerat utdataformat. Trace2 möjliggör insamling av operativ telemetri och prestandadata för mer detaljerad analys och felsökning (användaren tilldelar styrenheten; ingen data skickas externt).

Prestanda och utveckling

Gits inbyggda differentialmekanism har skrivits om och stöder nu ` git commit-tree` , och ` pack-redundant` API och ` git multi-pack-index verify` fungerar nu snabbare i repositorier som innehåller många paketfiler. För utvecklare har även testramverket uppdaterats.

Nyligen implementerades ` git stash` i C för ` git rebase` . C-implementationen uppdaterades för att förhindra att Git upprepade gånger skriver över samma fil. ` git diff` körs nu också snabbare i speciella scenarier där det samlar in information om blobbar. Sist men inte minst snabbar `git clone` upp anslutningsprocessen.

Lade också till möjligheten att filtrera när man visar utökade "git log"-taggar kopplade till commits.


Lägg till som prioriterad källa i Google