udgivelse af et distribueret system til administration af kildekoder . Git er et af de mest populære, pålidelige og højtydende versionsstyringssystemer, der tilbyder fleksible værktøjer til ikke-lineær udvikling baseret på forgrening og sammenlægning af grene. For at sikre integriteten af historikken og modstandsdygtighed mod 'tilbageskuende' ændringer anvendes implicit hashing af hele den tidligere historie i hver commit; det er også muligt at verificere med digitale signaturer fra udviklerne af individuelle tags og commits.
Sammenlignet med den tidligere version er der i den nye udgave indført 537 ændringer, forberedt med deltagelse af 71 udviklere, hvoraf 19 deltager i udviklingen for første gang. De vigtigste :
- Funktionen til standardaktivering fra den tidligere version er annulleret af kommunikationsprotokollen Git, som bruges til fjernforbindelse fra klienten til Git-serveren. Protokollen anses for at være utilgængelig til standardbrug på grund af skitserede aspekter, der kræver særlig behandling.
- Et sæt muligheder er tilføjet til at konfigurere SSL-forbindelsen ved anmodninger gennem en proxy.
- Den information, der genereres ved brug af de transformerende filtre 'clean' og 'smudge', er blevet udvidet. For eksempel vises nu objektet , hvor den transformerede blob optræder.
- For at undgå forvirring anvendes den udvidede output-tilstand ('—long') altid i kommandoen 'git describe', hvis der er det tilknyttede tag til commit. Tidligere blev et signeret eller annoteret tag, der beskrev commit, vist, selvom det var blevet omdøbt eller flyttet i hierarkiet 'refs/tags/', og kommandoen 'git show tag^0' fungerede ikke som forventet — 'refs/tags/tag' kunne ikke findes eller blev endda vist som et andet tag.
- Ved udførelse af 'git pull' gives der nu en advarsel, hvis konfigurationsvariablen pull.rebase ikke er eksplicit angivet, og ingen muligheder '—[no-]rebase' eller '—ff-only' anvendes. For at undertrykke advarslen kan dem, der ikke planlægger at udføre en rebase, sætte variablen til 'false'.
- Der er gennemgået mulighederne for 'git pull', som er fælles med 'git fetch'. Tidligere ikke nævnte lignende muligheder er blevet dokumenteret, og der er sikret overførsel af manglende muligheder til 'git fetch'.
- I kommandoen 'git rebase' er muligheden '—no-gpg-sign' blevet tilføjet for at overskrive indstillingen 'commit.gpgSign'.
- I 'git format-patch' er muligheden for at vise 'From:'- og 'Subject:'-overskrifter i uændret form, uden at ændre tegn, der ikke findes i ASCII-kodningen, tilføjet.
- I 'git log' er muligheden '—show-pulls' blevet tilføjet, hvilket gør det muligt at se ikke blot commits, hvor der er foretaget ændringer, men også committet for at sammenflette disse ændringer fra en separat gren.
- Håndteringen af interaktiv input er blevet ensartet på tværs af alle komponenter, og der er tilføjet et kald til fflush() efter visning af inputprompten, men før læseoperationen.
- I "git rebase" er det tilladt at genanvende alle lokale commits uden først at udføre "checkout", selvom nogle af dem tidligere er sendt til upstream.
- Værdien af konfigurationsvariablen 'pack.useSparse' er ændret til 'true' for som standard at aktivere optimeringer, der tidligere blev præsenteret som eksperimentelle.
- Der er tilføjet en mulighed for '—autostash' i 'git merge'.
- Grænsefladen for 'sparse-checkout' er forbedret.
- Der er tilføjet flere nye handlinger til 'git update-ref —stdin',
der gør det muligt direkte at kontrollere opdateringstransaktioner for referencer, for eksempel for at implementere en to-trins atomisk opdatering af referencer i flere repositoryer. - Userdiff-skabeloner til Markdown-dokumenter er blevet tilføjet.
- Begrænsningen for at undtage alle stier i sparse-checkout-skabeloner, der fører til et tomt arbejdsområde, er fjernet.
- Operationen 'git restore —staged —worktree' bruger nu som standard indholdet fra 'HEAD'-grenen i stedet for at give en fejlmeddelelse.
- Arbejdet med overgangen til SHA-2 hashing-algoritmen i stedet for SHA-1 er fortsat.
- Koden til interaktion med GnuPG er blevet omarbejdet.
Kilde: opennet.ru
