Frigivelse af distribueret kildekontrolsystem Git 2.23

Introduceret frigivelse af et distribueret kildekontrolsystem Git 2.23.0. Git er et af de mest populære, pålidelige og højtydende versionskontrolsystemer, der giver fleksible ikke-lineære udviklingsværktøjer baseret på forgrening og sammensmeltning. For at sikre historiens integritet og modstand mod retroaktive ændringer, anvendes implicit hashing af hele den tidligere historie i hver commit, og det er også muligt at certificere individuelle tags og commits med digitale signaturer fra udviklere.

Sammenlignet med den tidligere udgivelse indeholdt den nye version 505 ændringer, udarbejdet med deltagelse af 77 udviklere, hvoraf 26 deltog i udviklingen for første gang. Grundlæggende innovationer:

  • Eksperimentelle "git switch" og "git restore"-kommandoer introduceres for at adskille løst koblede "git checkout"-funktioner, såsom grenmanipulation (skift og oprettelse) og gendannelse af filer i arbejdsmappen ("git checkout $commit - $filename") eller umiddelbart i iscenesættelsesområdet ("—stage", har ingen analog i "git checkout"). Det er værd at bemærke, at i modsætning til "git checkout", fjerner "git restore" usporede filer fra de mapper, der gendannes ("--no-overlay" som standard).
  • Tilføjet "git merge -quit", som, i lighed med "-abort", stopper processen med at flette grene, men lader arbejdsbiblioteket være urørt. Denne mulighed kan være nyttig, hvis nogle af de ændringer, der er foretaget under en manuel fletning, foretrækkes at blive udstedt som en separat commit.
  • Kommandoerne "git clone", "git fetch" og "git push" tager nu højde for tilstedeværelsen af ​​commits i linkede repositories (suppleanter);
  • Tilføjet indstillingerne "git blame —ignore-rev" og "—ignore-revs-file" giver dig mulighed for at springe commits over, der foretager mindre ændringer (for eksempel formateringsrettelser);
  • Tilføjet "git cherry-pick —skip" mulighed for at springe en modstridende commit over (en memoriseret analog af "git reset && git cherry-pick —fortsæt" sekvensen);
  • Tilføjet status.aheadBehind indstillingen, som permanent fikser "git status -[no-]ahead-behind" muligheden;
  • Fra denne udgivelse tager "git log" som standard højde for ændringer foretaget af mailmap, svarende til hvordan git shortlog allerede gør;
  • Opdateringsoperationen af ​​den eksperimentelle cache af commit-grafen (core.commitGraph), der blev introduceret i 2.18, er blevet betydeligt fremskyndet. Gjorde også git for-each-ref hurtigere ved brug af flere skabeloner og reducerede antallet af kald til auto-gc i "git fetch —multiple";
  • "git branch --list" viser nu altid adskilt HEAD helt i begyndelsen af ​​listen, uanset lokalitet.

Kilde: opennet.ru

Tilføj en kommentar