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ého vydání přijato 317 změn, které připravilo 58 vývojářů, z nichž 13 se účastnilo vývoje poprvé. Hlavní :
- Byla přidána konfigurace init.defaultBranch, která umožňuje výběr libovolného názvu hlavní větve, který bude používán jako výchozí. Nastavení bylo přidáno pro projekty, jejichž vývojáře trápí vzpomínky na otroctví, a slovo „master“ je považováno za urážlivou narážku nebo vyvolává duševní muka a pocit neodčiněné viny. , a se rozhodlo místo slova „master“ používat pro hlavní větve slovo „main“. V Git, jak bylo obvyklé, se při provedení příkazu „git init“ nadále vytváří výchozí větev „master“, ale toto jméno lze nyní změnit. Například, pro změnu názvu počáteční větve na „main“ lze použít příkaz:
git config --global init.defaultBranch main
- Byly přidány optimalizace výkonu založené na příchodu formátu souboru commit-graph, používaného k optimalizaci přístupu k informacím o commitech, podpory , pravděpodobnostní struktury umožňující falešné určení chybějícího prvku, ale vylučující vynechání existujícího prvku. Tato struktura výrazně urychluje vyhledávání v historii změn při použití příkazů „git log --“ nebo „git blame“.
- Ve skupině „git status“ je zajištěn výstup informací o pokroku při provádění operace částečného klonování (sparse-checkout).
- Pro příkazy rodiny „diff“ byla navržena nová konfigurace „diff.relative“.
- Při kontrole přes „git fsck“ se nyní hodnotí řazení stromu objektů a odhalují se neřazené prvky.
- Bylo zjednodušené rozhraní pro úpravu důvěrných informací ve výstupu trasování.
- Do scénáře automatického dokončování byl přidán podporu pro doplnění možností příkazu „git switch“.
- Do „git diff“ byla přidána podpora předávání argumentů v různých notacích („git diff A..B C“, „git diff A..B C…D“ atd.).
- Do příkazu „git fast-export —anonymize“ byla přidána možnost definovat vlastní mapování prvků pro jemné doladění výstupu, aby byl snadněji laditelný.
- V „git gui“ je povoleno otevírat pracovní stromy z počátečního dialogu.
- V protokolu „fetch/clone“ byla implementována možnost informovat klienta serverem o potřebě stáhnout předem připravené pack soubory kromě přenášených zabalených dat objektu.
- Pokračuje přechod na hashovací algoritmus SHA-256 místo SHA-1.
Zdroj: opennet.ru
