Git 2.31 is nu beschikbaar en komt met onderhoud aan git

Enkele dagen geleden werd de release van de nieuwe versie van Git 2.3 aangekondigd , een van de populairste, meest betrouwbare en krachtige versiebeheersystemen, dat flexibele, niet-lineaire ontwikkeltools biedt op basis van vertakkingen en samenvoegingen.

Vergeleken met de vorige versie zijn er 679 wijzigingen doorgevoerd in de nieuwe versie, die is ontwikkeld met de medewerking van 85 ontwikkelaars , van wie 23 voor het eerst aan de ontwikkeling hebben meegewerkt.

Git 2.31 hoogtepunten

Deze nieuwe versie van Git 2.31 introduceert het commando "git maintenance" , waarmee periodiek onderhoud kan worden uitgevoerd op systemen die geen cron ondersteunen . Met dit nieuwe commando kunt u bijvoorbeeld het inpakproces van de repository periodiek laten starten, waardoor u niet meer hoeft te wachten tot de vergrendeling van de repository is voltooid wanneer het inpakken automatisch wordt uitgevoerd na meerdere commando's.

Een andere opvallende verandering is de toevoeging van ondersteuning voor het bijhouden van een omgekeerde index op schijf (revindex) voor pakketbestanden. Git slaat alle gegevens op als objecten, die in aparte bestanden worden bewaard. Om de efficiëntie van het werken met de repository te verbeteren, worden deze objecten verder georganiseerd in pakketbestanden, waar de informatie wordt gepresenteerd als een stroom van objecten die elkaar opvolgen.

Voor elk pakketarchief wordt een indexbestand (.idx) aangemaakt, waarmee de object-ID kan worden gebruikt om snel de positie van het object binnen het pakketarchief te bepalen. De omgekeerde index (.rev) die in Git 2.31 is geïntroduceerd, is bedoeld om het proces van het bepalen van een object-ID op basis van informatie over de locatie van het object binnen een pakketarchief te optimaliseren.

Voorheen werd deze conversie tijdens het parsen van een pakketbestand direct uitgevoerd en alleen in het geheugen opgeslagen. Dit maakte hergebruik van deze indexen onmogelijk en vereiste dat de index telkens opnieuw werd gegenereerd. Het opbouwen van een index komt neer op het construeren van een array met paren van objectposities en het sorteren daarvan op positie, wat zeer tijdrovend kan zijn voor grote pakketbestanden.

Bovendien zien we dat er prestatieoptimalisaties zijn toegevoegd op basis van de structuur van het commit-grafiekbestandsformaat. Deze optimalisaties worden gebruikt om de toegang tot informatie over commits te optimaliseren. Ook zijn er nieuwe gegevens toegevoegd over het aantal gegenereerde commits, die gebruikt kunnen worden om verdere bewerkingen met commits te versnellen.

Daarnaast is de mogelijkheid toegevoegd om de standaard branchenaam in nieuwe repositories te overschrijven (instelling init.defaultBranch). Bij het openen van externe repositories probeert Git de branch te verifiëren waarnaar HEAD verwijst; dat wil zeggen, als de externe server standaard de "main"-branch gebruikt, zal de "git clone"-bewerking proberen "main" lokaal te vinden.

Andere opvallende wijzigingen zijn onder meer:

  • De optie "–schijfgebruik" toegevoegd aan het "git rev-list" commando om een ​​samenvatting van de grootte van de objecten weer te geven.
  • Ondersteuning voor de verouderde bibliotheek met reguliere expressies PCRE1 is verwijderd.
  • Biedt de mogelijkheid om het gebruik van snelkoppelingen met kracht te verbieden, onafhankelijk van het hash-algoritme. Het verbod wordt ingeschakeld door de waarde "no" toe te wijzen aan de parameter core.abbrev.
  • De "–path-format" optie is toegevoegd aan het "git rev-parse" commando om expliciet de uitvoer van relatieve of absolute paden te definiëren.
  • De autocomplete-scripts van Bash maken het gemakkelijk om voltooiingsregels toe te voegen voor aangepaste "git" -subopdrachten.
  • "–Stdin" optie toegevoegd aan "git bundle" commando om links van standaard input stream te lezen.
  • De "–left-only" en "–right-only" opties zijn toegevoegd aan het "git range-diff" commando om slechts één kant van het vergeleken bereik te tonen.
  • Optie toegevoegd "–skip-to = »Naar het« git difftool »commando om een ​​onderbroken sessie vanaf een willekeurig pad te hervatten.
  • De Code of Conduct (Code of Conduct), die de basisprincipes definieert voor het oplossen van conflicten tussen ontwikkelaars, is bijgewerkt naar versie 2.0 (voorheen werd versie 1.4 gebruikt).

Als je er tenslotte meer over wilt weten , kun je de volgende link raadplegen.


Voeg dit toe als voorkeursbron in Google.