Nová verze Git 2.28, která umožňuje nepoužívat název "master" pro hlavní větve
Dostupný vydání distribuovaného systému řízení zdrojů Git 2.28.0. 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í nelineární vývojové nástroje založené na větvení a slučování. Pro zajištění integrity historie a odolnosti vůči retroaktivním změnám je v každém commitu použito implicitní hashování celé předchozí historie, je také možné certifikovat jednotlivé tagy a commity digitálními podpisy vývojářů.
Oproti předchozí verzi obsahovala nová verze 317 změn, připravených za účasti 58 vývojářů, z nichž 13 se podílelo na vývoji poprvé. Základní inovace:
Přidáno nastavení init.defaultBranch, které umožňuje vybrat libovolný název pro hlavní větev, který bude použit ve výchozím nastavení. Toto nastavení bylo přidáno pro projekty, jejichž vývojáře pronásledují vzpomínky na otroctví a slovo „master“ je vnímáno jako urážlivý náznak nebo vyvolává duševní muka a pocit nevykoupené viny. GitHub, GitLab и Bitbucket se rozhodl pro hlavní větve použít slovo „hlavní“ místo slova „master“. V Gitu, stejně jako dříve, spuštění příkazu „git init“ pokračuje ve výchozím nastavení ve vytváření větve „master“, ale tento název lze nyní změnit. Chcete-li například změnit název počáteční větve na "hlavní", můžete použít příkaz:
git config --global init.defaultBranch main
Přidány optimalizace výkonu založené na vzhledu ve formátu souboru commit-graph, používané k optimalizaci přístupu k informacím o odevzdání, podpora Bloom filtry, pravděpodobnostní struktura, která umožňuje falešnou identifikaci chybějícího prvku, ale vylučuje vynechání existujícího prvku. Zadaná struktura umožňuje výrazně urychlit vyhledávání v historii změn při použití příkazů „git log - “ nebo „git vinu“.
Příkaz „git status“ poskytuje informace o průběhu operace částečného klonování (sparse-checkout).
Pro rodinu příkazů "diff" bylo navrženo nové nastavení "diff.relative".
Při kontrole pomocí "git fsck" se nyní vyhodnocuje řazení stromu objektů a identifikují se neseřazené prvky.
Rozhraní pro úpravu citlivých informací ve výstupu trasování bylo zjednodušeno.
Do skriptu pro dokončení vstupu byla přidána podpora pro doplňování voleb pro příkaz "git switch".
„git diff“ nyní podporuje předávání argumentů v různých notacích („git diff A..BC“, „git diff A..BC…D“ atd.).
Přidána možnost zadat vlastní mapování prvků do příkazu "git fast-export --anonymize" pro jemné doladění výstupu, aby byl lépe laditelný.
"git gui" vám umožňuje otevřít pracovní stromy z úvodního dialogu.
Protokol „fetch/clone“ implementuje schopnost serveru informovat klienta o nutnosti načíst předpřipravené soubory pack kromě přenášených dat sbaleného objektu.
Pokračovaly práce na přechodu na hashovací algoritmus SHA-256 namísto SHA-1.