vydání distribuovaného systému správy zdrojového kódu . Git je jedním z nejpopulárnějších, spolehlivých a vysoce výkonných systémů pro správu verzí, který poskytuje flexibilní prostředky pro nelineární vývoj založené na větvení a slučování. Pro zajištění integrity historie a odolnosti vůči změnám "zpětně" se používá implicitní hashování celé předchozí historie v každém commitu, přičemž je také možné ověřit digitálními podpisy jednotlivých tagů a commitů.
Ve srovnání s předchozí verzí bylo do nové verze přijato 537 změn, které připravilo 71 vývojářů, z nichž 19 se podílelo na vývoji poprvé. Hlavní :
- Zrušena výchozí aktivace z předchozí verze komunikačního protokolu Git, který se používá při vzdáleném připojení klienta k Git serveru. Protokol zatím není považován za připravený k výchozímu použití kvůli zjištěným problematickým oblastem, které vyžadují samostatné posouzení.
- Byla přidána sada možností pro konfiguraci SSL připojení při přístupu přes proxy.
- Byly rozšířeny informace poskytované při použití transformujících filtrů „clean“ a „smudge“. Například nyní se zobrazuje objekt , ve kterém se objevuje transformovaný blob.
- Aby se předešlo zmatkům, příkaz „git describe“ nyní vždy používá rozšířený výstupní režim („—long“), pokud byl zjištěn související s komitem přejmenovaný tag (dříve byl výstupem podepsaný nebo anotovaný tag popisující komit, i když byl přejmenován nebo přesunut v hierarchii „refs/tags/“, a příkaz „git show tag^0“ nefungoval, jak se očekávalo – „refs/tags/tag“ nebyl nalezen nebo byl dokonce uveden jiný tag).
- Při provádění „git pull“ se nyní zobrazuje varování, pokud není výslovně nastavena konfigurační proměnná pull.rebase a nebyly použity možnosti „—[no-]rebase“ nebo „—ff-only“. Pro potlačení varování ti, kteří neplánují provést rebase, mohou nastavit proměnnou na „false“.
- Byla provedena revize možností „git pull“, které jsou společné s „git fetch“. Byly zdokumentovány dříve nezmiňované podobné možnosti a zajištěn přenos vynechaných možností do „git fetch“.
- Do příkazu „git rebase“ byla přidána možnost „—no-gpg-sign“ pro přepsání nastavení „commit.gpgSign“.
- Do „git format-patch“ byla přidána možnost zobrazit hlavičky „From:“ a „Subject:“ v nezměněné podobě, bez převodu znaků, které nejsou v kódování ASCII.
- Do „git log“ byla přidána možnost „—show-pulls“, která umožňuje prohlížet nejen komity, ve kterých došlo ke změnám, ale také komit pro sloučení těchto změn z jiného odvětví.
- Byla sjednocena zpracování interaktivního vstupu ve všech komponentách a přidán výzva fflush() po zobrazení výzvy pro vstup, ale před samotným čtením.
- V ‘git rebase’ je povoleno znovu aplikovat všechny lokální commity bez předchozího provedení operace ‘checkout’, i když některé z nich již byly odeslány do upstreamu.
- Hodnota konfigurační proměnné ‘pack.useSparse’ byla změněna na ‘true’ pro výchozí zapnutí optimalizací, které byly dříve prezentovány jako experimentální.
- Do ‘git merge’ byla přidána volba ‘—autostash’.
- Bylo vylepšeno rozhraní ‘sparse-checkout’.
- Do ‘git update-ref —stdin’ bylo přidáno několik nových akcí,
které umožňují přímo kontrolovat transakce aktualizace referencí, například pro implementaci dvoustupňové atomární aktualizace referencí ve více repozitářích. - Byly přidány šablony userdiff pro dokumenty Markdown.
- Bylo zrušeno omezení na vyloučení všech cest v šablonách sparse-checkout, které vedly k prázdnému pracovního stromu.
- Operace ‘git restore —staged —worktree’ nyní ve výchozím nastavení používá obsah z větve ‘HEAD’, místo vyhazování chyby.
- Pokračuje se v přechodu na hashovací algoritmus SHA-2 místo SHA-1.
- Byl přepracován kód pro interakci s GnuPG.
Zdroj: opennet.ru
