Nová verzia Git 2.28, ktorá umožňuje nepoužívať názov "master" pre hlavné vetvy
K dispozícii uvoľnenie distribuovaného systému riadenia zdroja Git 2.28.0. Git je jedným z najpopulárnejších, najspoľahlivejších a najvýkonnejších systémov na správu verzií, ktorý poskytuje flexibilné nelineárne vývojové nástroje založené na vetvení a zlučovaní. Na zabezpečenie integrity histórie a odolnosti voči retroaktívnym zmenám sa používa implicitné hashovanie celej predchádzajúcej histórie v každom commite a taktiež je možné jednotlivé tagy a commity certifikovať digitálnymi podpismi vývojárov.
Oproti predchádzajúcemu vydaniu obsahovala nová verzia 317 zmien, pripravených za účasti 58 vývojárov, z ktorých 13 sa podieľalo na vývoji po prvýkrát. Základné inovácie:
Pridané nastavenie init.defaultBranch, ktoré vám umožňuje vybrať ľubovoľný názov hlavnej vetvy, ktorý sa bude štandardne používať. Toto nastavenie bolo pridané pre projekty, ktorých vývojárov prenasledujú spomienky na otroctvo a slovo „majster“ je vnímané ako urážlivý náznak alebo vyvoláva duševné trápenie a pocit nevykúpenej viny. GitHub, GitLab и bitbucket sa rozhodli pre hlavné odvetvia použiť slovo „hlavný“ namiesto slova „hlavný“. V systéme Git, ako predtým, spúšťanie príkazu „git init“ pokračuje v predvolenom vytváraní vetvy „master“, ale tento názov je teraz možné zmeniť. Napríklad, ak chcete zmeniť názov počiatočnej vetvy na "hlavnú", môžete použiť príkaz:
git config --global init.defaultBranch main
Pridané optimalizácie výkonu založené na vzhľade vo formáte súboru odovzdania grafu, používané na optimalizáciu prístupu k informáciám odovzdania, podpora Bloom filtre, pravdepodobnostná štruktúra, ktorá umožňuje falošnú identifikáciu chýbajúceho prvku, ale vylučuje vynechanie už existujúceho prvku. Zadaná štruktúra umožňuje výrazne urýchliť vyhľadávanie v histórii zmien pri použití príkazov „git log - “ alebo „git vina“.
Príkaz „git status“ poskytuje informácie o priebehu operácie čiastočného klonovania (sparse-checkout).
Pre rodinu príkazov "diff" bolo navrhnuté nové nastavenie "diff.relative".
Pri kontrole cez "git fsck" sa teraz vyhodnotí triedenie stromu objektov a identifikujú sa nezoradené prvky.
Rozhranie na úpravu citlivých informácií vo výstupe sledovania bolo zjednodušené.
Do skriptu na dokončenie vstupu bola pridaná podpora dokončovania možností pre príkaz „git switch“.
„git diff“ teraz podporuje odovzdávanie argumentov v rôznych notáciách („git diff A..BC“, „git diff A..BC…D“ atď.).
Pridaná možnosť zadať vlastné mapovanie prvkov do príkazu „git fast-export --anonymize“ na doladenie výstupu, aby bol lepšie laditeľný.
"git gui" vám umožňuje otvárať pracovné stromy z úvodného dialógu.
Protokol „fetch/clone“ implementuje schopnosť servera informovať klienta o potrebe načítať predpripravené súbory balíkov okrem prenášaných údajov zbaleného objektu.
Pokračovali práce na prechode na hashovací algoritmus SHA-256 namiesto SHA-1.