Release van gedistribueerd broncontrolesysteem Git 2.23

Geïntroduceerd release van een gedistribueerd broncontrolesysteem Git 2.23.0. Git is een van de meest populaire, betrouwbare en krachtige versiebeheersystemen en biedt flexibele, niet-lineaire ontwikkeltools op basis van vertakken en samenvoegen. Om de integriteit van de geschiedenis en weerstand tegen veranderingen met terugwerkende kracht te garanderen, wordt impliciete hashing van de gehele voorgaande geschiedenis in elke commit gebruikt, en is het ook mogelijk om individuele tags en commits te certificeren met digitale handtekeningen van ontwikkelaars.

Vergeleken met de vorige release bevatte de nieuwe versie 505 wijzigingen, voorbereid met de deelname van 77 ontwikkelaars, van wie er 26 voor het eerst aan de ontwikkeling deelnamen. Basis innovaties:

  • Experimentele "git switch" en "git restore" commando's worden geïntroduceerd om losjes gekoppelde "git checkout" mogelijkheden te scheiden, zoals branch manipulatie (schakelen en creëren) en het herstellen van bestanden in de werkmap ("git checkout $commit - $filename") of direct in de staging area (“—staging”, heeft geen analoog in “git checkout”). Het is de moeite waard om op te merken dat, in tegenstelling tot "git checkout", "git herstel" niet-bijgehouden bestanden verwijdert uit de mappen die worden hersteld ("--no-overlay" standaard).
  • De optie “git merge –quit” toegevoegd, die, vergelijkbaar met “-abort”, het proces van het samenvoegen van branches stopt, maar de werkmap onaangeroerd laat. Deze optie kan handig zijn als sommige van de wijzigingen die tijdens een handmatige samenvoeging zijn aangebracht, de voorkeur verdienen als afzonderlijke commit.
  • De commando's "git clone", "git fetch" en "git push" houden nu rekening met de aanwezigheid van commits in gekoppelde repository's (plaatsvervangers);
  • Toegevoegd met de opties “git blab —ignore-rev” en “—ignore-revs-file” kun je commits overslaan die kleine wijzigingen aanbrengen (bijvoorbeeld formatteringsreparaties);
  • De “git cherry-pick —skip” optie toegevoegd om een ​​conflicterende commit over te slaan (een opgeslagen analoog van de “git reset && git cherry-pick —continue” reeks);
  • De status.aheadBehind instelling toegevoegd, die de “git status -[no-]ahead-behind” optie permanent repareert;
  • Vanaf deze release houdt "git log" standaard rekening met wijzigingen die door mailmap zijn gemaakt, vergelijkbaar met hoe git shortlog dat al doet;
  • De updatebewerking van de experimentele cache van de commit-grafiek (core.commitGraph), geïntroduceerd in 2.18, is aanzienlijk versneld. Maakte git for-each-ref ook sneller bij het gebruik van meerdere sjablonen en verminderde het aantal aanroepen naar auto-gc in “git fetch —multiple”;
  • "git branch --list" toont nu altijd vrijstaande HEAD helemaal aan het begin van de lijst, ongeacht de landinstelling.

Bron: opennet.ru

Voeg een reactie