Release av distribuerat källkontrollsystem Git 2.27

Tillgängliga lansering av ett distribuerat källkontrollsystem Git 2.27.0. Git är ett av de mest populära, pålitliga och högpresterande versionskontrollsystemen, som tillhandahåller flexibla icke-linjära utvecklingsverktyg baserade på förgrening och sammanslagning. För att säkerställa historiens integritet och motståndet mot retroaktiva förändringar används implicit hash av hela den tidigare historien i varje commit, och det är också möjligt att certifiera individuella taggar och commits med digitala signaturer från utvecklare.

Jämfört med den tidigare utgåvan inkluderade den nya versionen 537 ändringar, förberedda med deltagande av 71 utvecklare, varav 19 deltog i utvecklingen för första gången. Grundläggande innovationer:

  • Standardaktiveringen som implementerades i den tidigare versionen har återställts andra versionen Git kommunikationsprotokoll, som används när en klient fjärransluter till en Git-server. Protokollet anses ännu inte vara färdigt för användning som standard på grund av identifieringen av hala problem som kräver separat övervägande.
  • Lade till en uppsättning alternativ för att ställa in en SSL-anslutning vid åtkomst via en proxy.
  • Informationen som visas när transformeringsfiltren "ren" och "smeta" används har utökats. Till exempel visas nu objektet trädaktigt, där klumpen som ska konverteras visas.
  • För att undvika förvirring använder kommandot "git describe" nu alltid utökat utmatningsläge ("--long") om en ersatt tagg associerad med en commit identifieras (tidigare matades en signerad eller kommenterad tagg som beskriver en commit ut även om den var bytt namn eller flyttat i hierarkin "refs/tags/", och kommandot "git show tag^0" fungerade inte som förväntat - "refs/tags/tag" hittades inte eller till och med en annan tagg returnerades).
  • När du kör "git pull" utfärdas nu en varning såvida inte pull.rebase-konfigurationsvariabeln är uttryckligen inställd och alternativen "--[no-]rebase" eller "--ff-only" inte används. För att undertrycka varningen för de som inte har för avsikt att utföra en rebase-operation kan variabeln ställas in på false.
  • De "git pull"-alternativ som är vanliga för "git fetch" har granskats. Tidigare onämnda liknande alternativ är dokumenterade och saknade alternativ skickas till git fetch.
  • Lade till alternativet "--no-gpg-sign" till kommandot "git rebase" för att åsidosätta inställningen "commit.gpgSign".
  • Lade till möjligheten att "git format-patch" för att visa "Från:" och "Ämne:"-rubriker oförändrade, utan att konvertera icke-ASCII-tecken.
  • Alternativet "-show-pull" har lagts till i "git log", vilket gör att du inte bara kan se commits där ändringar gjordes, utan även commit för att slå samman dessa ändringar från en separat gren.
  • Enhetlig interaktiv ingångshantering över alla komponenter och lade till ett anrop till fflush() efter att inmatningsprompten visas men före läsoperationen.
  • "git rebase" låter dig återanvända alla lokala commits utan att först utföra en "checkout"-operation, även om några av dem tidigare uppströms.
  • Konfigurationsvariabeln 'pack.useSparse' har ändrats till 'true' för att möjliggöra optimeringar som tidigare angetts som experimentella som standard.
  • Lade till alternativet "--autostash" för att "git merge".
  • Förbättrat gränssnitt för "sparse-checkout".
  • Flera nya åtgärder har lagts till i "git update-ref --stdin",
    tillåta direkt kontroll av länkuppdateringstransaktioner, till exempel för att implementera tvåstegs atomära länkuppdateringar över flera arkiv.

  • Lade till userdiff-mallar för Markdown-dokument.
  • Tog bort begränsningen att utesluta alla sökvägar i sparse-checkout-mallar som resulterar i ett tomt arbetsträd.
  • Operationen "git restore --staged --worktree" använder nu som standard innehållet från "HEAD"-grenen istället för att skapa ett fel.
  • Arbetet fortsatte med övergången till SHA-2-hashalgoritmen istället för SHA-1.
  • Koden för att interagera med GnuPG har omarbetats.

Källa: opennet.ru

Lägg en kommentar