Vrystelling van die verspreide bronbeheerstelsel Git 2.23

Bekendgestel vrystelling van 'n verspreide bronbeheerstelsel git 2.23.0. Git is een van die gewildste, betroubare en hoëprestasie-weergawebeheerstelsels, wat buigsame nie-lineêre ontwikkelingsinstrumente bied wat gebaseer is op vertakking en samesmelting. Om die integriteit van geskiedenis en weerstand teen terugwerkende veranderinge te verseker, word implisiete hashing van die hele vorige geskiedenis in elke commit gebruik, en dit is ook moontlik om individuele etikette en commits te sertifiseer met digitale handtekeninge van ontwikkelaars.

In vergelyking met die vorige weergawe, het die nuwe weergawe 505 veranderinge ingesluit, voorberei met die deelname van 77 ontwikkelaars, waarvan 26 vir die eerste keer aan ontwikkeling deelgeneem het. Basies innovasies:

  • Eksperimentele "git switch" en "git restore"-opdragte word bekendgestel om losgekoppelde "git checkout"-vermoëns te skei, soos takmanipulasie (wissel en skep) en die herstel van lêers in die werkgids ("git checkout $commit - $filename") of onmiddellik in die verhoogarea (“—staging”, het geen analoog in “git checkout” nie). Dit is opmerklik dat, anders as "git checkout", "git restore" ongespoorde lêers verwyder uit die gidse wat herstel word ("--geen-overleg" by verstek).
  • Het die opsie "git merge -quit" bygevoeg, wat, soortgelyk aan "-aborte", die proses van samesmelting van takke stop, maar die werkgids onaangeraak laat. Hierdie opsie kan nuttig wees as sommige van die veranderinge wat tydens 'n handmatige samesmelting gemaak is verkieslik as 'n aparte commit uitgereik word.
  • Die "git clone", "git fetch" en "git push" opdragte neem nou die teenwoordigheid van commits in gekoppelde bewaarplekke in ag (afwissel);
  • Bygevoeg die “git blame —ignore-rev” en “—ignore-revs-file” opsies laat jou toe om commits oor te slaan wat geringe veranderinge aanbring (byvoorbeeld, formatering regstellings);
  • Het die "git cherry-pick —skip" opsie bygevoeg om 'n botsende commit oor te slaan ('n gememoriseerde analoog van die "git reset && git cherry-pick —continue" volgorde);
  • Het die status.aheadBehind instelling bygevoeg, wat die "git status -[no-]ahead-behind" opsie permanent regstel;
  • Vanaf hierdie vrystelling neem "git log" by verstek veranderinge in ag wat deur mailmap gemaak is, soortgelyk aan hoe git shortlog reeds doen;
  • Die opdatering van die eksperimentele kas van die commit-grafiek (core.commitGraph) wat in 2.18 bekendgestel is, is aansienlik versnel. Het ook git vir-elke-ref vinniger gemaak wanneer veelvuldige sjablone gebruik word en die aantal oproepe na auto-gc in "git haal —veelvuldige" verminder;
  • "git branch --list" wys nou altyd losstaande HEAD heel aan die begin van die lys, ongeag die plek.

Bron: opennet.ru

Voeg 'n opmerking