Den nya versionen av versionshanteringssystemet , Git 2.26.0, är nu tillgänglig och medför flera nya funktioner , experimentellt stöd och, viktigast av allt, optimeringar. För de som inte känner till Git är det ett av de mest populära, pålitliga och högpresterande versionshanteringssystemen , vilket tillhandahåller flexibla, icke-linjära utvecklingsverktyg baserade på förgrening och sammanslagning.
För att säkerställa historikens integritet och motståndskraft mot retrospektiva ändringar används den implicita hashen av hela den tidigare historiken i varje commit; det är också möjligt att digitalt signera utvecklarna av enskilda taggar och commits.
Jämfört med den föregående utgåvan antog den nya versionen 504 ändringar som förbereddes med deltagande av 64 utvecklare, varav 12 deltog i utvecklingen för första gången.
Git 2.26.0 Viktiga nya funktioner
Den här nya versionen övergår till standardversion 2 av Git-kommunikationsprotokollet , vilket används vid fjärranslutning av en klient till en Git-server. Version 2 är känd för att ge möjligheten att filtrera grenar och taggar på serversidan, vilket returnerar en kondenserad lista med länkar till klienten.
En annan viktig innovation är möjligheten att lägga till nya funktioner i protokollet allt eftersom nya funktioner blir tillgängliga i verktygslådan. Klientkoden förblir kompatibel med det tidigare protokollet och kan fortsätta att fungera med både nya och gamla servrar, och återgår automatiskt till den första versionen om servern inte stöder den andra.
Alternativet "–Show-scope« har lagts till i kommandot «git config", Vad förenklar identifieringen av platsen där vissa konfigurationer definieras.
Med Git kan du definiera konfigurationer på olika platser: i förvaret (.git / info / config), i användarens katalog (~ / .gitconfig), i den systemomfattande konfigurationsfilen (/ etc / gitconfig), samt genom kommandoradsalternativ och miljövariabler.
När man kör ` git config` är det ganska svårt att förstå exakt var den önskade konfigurationen är definierad. Alternativet ` --show-origin` fanns tillgängligt för att lösa detta problem, men det visar bara sökvägen till filen där konfigurationen är definierad, vilket är användbart om du tänker redigera filen, men inte hjälpsamt om du behöver ändra värdet via `git config` med hjälp av alternativen `--system`, `--global` eller `--local`.
Å andra sidan nämns i tillkännagivandet av denna nya version att utökningen av experimentellt stöd för partiella kloner fortsatte , vilket endast möjliggjorde överföring av en del av informationen och arbete med en ofullständig kopia av arkivet.
Den nya versionen lägger till ett nytt kommando, "git sparse-checkout add" , vilket låter dig lägga till separata kataloger för att endast tillämpa " checkout "-operationen på en del av arbetsträdet, istället för att lista alla dessa kataloger samtidigt med kommandot " git sparse-checkout set ".
Prestandan för kommandot " git grep ", som används för att söka både i det faktiska innehållet i arkivet och historiska revisioner, ökar avsevärt.
För att snabba upp sökningen var det tillåtet att skanna arbetsträdet med flera trådar (" git grep --threads "), men sökning efter historiska revisioner skedde med en enda tråd. Denna begränsning har nu tagits bort på grund av implementeringen av möjligheten att parallellisera läsoperationer för objektlagring .
Som standard är antalet trådar satt till antalet CPU-kärnor, vilket i de flesta fall nu inte kräver explicit konfiguration av alternativet " --threads ".
Lade till stöd för autokomplettering av underkommandon , sökvägar, länkar och andra argument i kommandot "git worktree", vilket gör det möjligt att arbeta med flera arbetskopior av arkivet.
Vi kan också hitta den nya versionen av skriptet fsmonitor-watchman , som tillhandahåller integration med Facebooks Watchman-mekanism för att påskynda spårning av filändringar och visningen av nya filer. Efter uppdatering av Git måste du ersätta hooken i repository.
Om du vill veta mer om den här nya utgåvan kan du läsa originalartikeln via följande länk.