Utgivelse av det distribuerte kildekontrollsystemet Git 2.23

Introdusert utgivelse av det distribuerte kildekontrollsystemet git 2.23.0. Git er et av de mest populære, pålitelige og høyytende versjonskontrollsystemene som gir fleksible ikke-lineære utviklingsverktøy basert på forgrening og sammenslåing av grener. For å sikre integriteten til historien og motstanden mot endringer i ettertid, brukes implisitt hashing av hele den tidligere historien i hver forpliktelse, det er også mulig å verifisere de digitale signaturene til utviklerne av individuelle tagger og forpliktelser.

Sammenlignet med forrige utgivelse inkluderte den nye versjonen 505 endringer, utarbeidet med deltagelse av 77 utviklere, hvorav 26 deltok i utviklingen for første gang. Grunnleggende innovasjoner:

  • Eksperimentelle "git switch" og "git restore"-kommandoer introduseres for å skille løst koblede "git checkout"-funksjoner, slik som grenmanipulasjon (bytte og opprette) og gjenoppretting av filer i arbeidskatalogen ("git checkout $commit - $filename") eller umiddelbart i oppstillingsområdet ("—staging", har ingen analog i "git checkout"). Det er verdt å merke seg at, i motsetning til "git checkout", fjerner "git restore" usporede filer fra katalogene som gjenopprettes ("--no-overlay" som standard).
  • Lagt til alternativet "git merge -quit", som, i likhet med "-avbryt", stopper prosessen med å slå sammen grener, men lar arbeidskatalogen være urørt. Dette alternativet kan være nyttig hvis noen av endringene som gjøres under en manuell sammenslåing, er å foretrekke å bli utstedt som en separat forpliktelse.
  • Kommandoene "git clone", "git fetch" og "git push" tar nå hensyn til tilstedeværelsen av commits i koblede repositories (veksler);
  • La til alternativene "git blame —ignore-rev" og "—ignore-revs-file" lar deg hoppe over commits som gjør mindre endringer (for eksempel formateringsfikser);
  • Lagt til "git cherry-pick —hopp"-alternativet for å hoppe over en motstridende commit (en memorert analog av "git reset && git cherry-pick -fortsett"-sekvensen);
  • Lagt til status.aheadBehind-innstillingen, som permanent fikser "git status -[no-]ahead-behind" alternativet;
  • Fra og med denne utgivelsen tar "git log" som standard hensyn til endringer gjort av mailmap, på samme måte som git shortlog allerede gjør det;
  • Oppdateringsoperasjonen av den eksperimentelle cachen til commit-grafen (core.commitGraph) introdusert i 2.18 har blitt betydelig akselerert. Gjorde også git for-each-ref raskere ved bruk av flere maler og reduserte antall kall til auto-gc i "git fetch —multiple";
  • "git branch --list" viser nå alltid løs HEAD helt i begynnelsen av listen, uavhengig av lokalitet.

Kilde: opennet.ru

Legg til en kommentar