Lancering van het gedistribueerde bronbeheersysteem Git 2.23

Geïntroduceerd lancering van het gedistribueerde bronbeheersysteem Git 2.23.0. Git is een van de populairste, betrouwbare en krachtige versiesystemen die flexibele middelen voor niet-lineaire ontwikkeling biedt, gebaseerd op takken en samenvoegen. Voor de integriteit van de geschiedenis en de weerstand tegen terugwerkende kracht wordt impliciete hashing van de gehele eerdere geschiedenis in elke commit gebruikt; ook is het mogelijk om digitale handtekeningen van ontwikkelaars voor afzonderlijke tags en commits te verifiëren.

Vergeleken met de vorige release zijn er in de nieuwe versie 505 wijzigingen aangebracht, voorbereid door 77 ontwikkelaars, van wie 26 voor het eerst deelnamen aan de ontwikkeling. Belangrijkste vernieuwingen:

  • Er zijn experimentele commando's «git switch» en «git restore» geïntroduceerd, die de minder gerelateerde mogelijkheden van «git checkout» willen scheiden, zoals het beheren van takken (schakelen en creëren) en het herstellen van bestanden in de werkdirectory («git checkout $commit — $filename») of rechtstreeks in de staging area («—staging», wat geen equivalent heeft in «git checkout»). Het is vermeldenswaard dat, in tegenstelling tot «git checkout», «git restore» ongevolgde bestanden uit de te herstellen directories verwijdert («—no-overlay» is standaard).
  • Er is een optie «git merge —quit» toegevoegd, die, net als «—abort», het proces van takken samenvoegen stopt, maar daarbij de werkdirectory ongemoeid laat. Deze optie kan nuttig zijn als sommige van de wijzigingen die tijdens een handmatige samenvoeging zijn aangebracht, beter als een aparte commit kunnen worden vastgelegd.
  • De commando's «git clone», «git fetch» en «git push» houden nu rekening met de aanwezigheid van commits in de verwante repositories (alternates);
  • Toegevoegd de opties «git blame —ignore-rev» en «—ignore-revs-file», waarmee commits kunnen worden overgeslagen die onbeduidende wijzigingen bevatten (bijvoorbeeld formatteringscorrecties);
  • Er is een optie «git cherry-pick —skip» toegevoegd om een conflicterende commit over te slaan (opgeslagen analogon van de sequentie «git reset && git cherry-pick —continue»);
  • Er is een instelling status.aheadBehind toegevoegd, die de optie «git status —[no-]ahead-behind» permanent vastlegt;
  • Vanaf deze release houdt «git log» standaard rekening met wijzigingen aangebracht door mailmap, net zoals het al gebeurt in git shortlog;
  • De operatie voor het update van de in 2.18 gepresenteerde experimentele commitgraf cache (core.commitGraph) is aanzienlijk versneld. Ook is git for-each-ref versneld in het geval van meerdere sjablonen en is het aantal auto-gc aanroepen bij "git fetch —multiple" verminderd.
  • "git branch —list" toont nu altijd detached HEAD aan het begin van de lijst, ongeacht de locale.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster