Nově vytvářené repozitáře mají v Gitu 3.0 standardně používat hašovací funkci SHA-256 a formát referencí reftable. Dokument BreakingChanges projektu Git k tomu řadí i větev main jako výchozí název a povinný jazyk Rust při sestavení; datum vydání zatím stanoveno není. Odstranění podpory SHA-1 projekt neplánuje.

Malé jádro, rozsáhlé rozhraní

Git vznikl v roce 2005 poté, co skončilo bezplatné použití BitKeeperu pro vývoj linuxového jádra. Linus Torvalds v rozhovoru k výročí nástroje uvedl, že potřeboval nástroj pro sebe a pro práci na jádře. Důrazem byla rychlost, jednoduchý návrh, nelineární vývoj a distribuovanost bez centrálního serveru.

Commity, stromy i bloby mají identitu odvozenou od obsahu a historie tvoří acyklický graf. Právě proto není přechod k SHA-256 pouhou výměnou algoritmu: dokument hash-function-transition řeší nový formát repozitáře, mapování mezi oběma hashi, přenos po síti i kompatibilitu. Starší klient repozitář se SHA-256 nepřečte.

Mezi pracovním stromem a historií stojí index, podle dokumentace git add místo, kde se změny připravují pro příští commit. Umožňuje pečlivé skládání commitů, zároveň přidává skrytý stav, který musí uživatel znát. Obdobné oddělení úloh přinesl Git 2.23 příkazy git switch a git restore; podle přehledu k verzi 2.51 už po šesti letech nejde o experimentální nástroje, přetížený git checkout ale zůstává v návodech i skriptech.

Kde vývojáři nejčastěji narážejí

Studie Do Developers Really Know How to Use Git Commands? analyzovala 80 370 příspěvků ze Stack Overflow a dotazovala se 92 vývojářů. Mezi obtížnými tématy vyčnívaly záchranné operace, tedy návrat z chybného stavu nebo obnova ztracené práce.

  • Nejnáročnější příkazy: git revert, git reflog, git stash a git reset
  • Octoverse 2025: přes 180 milionů vývojářů a 630 milionů repozitářů
  • 11,5 miliardy CPU minut ve službě GitHub Actions u veřejných projektů za rok 2025
  • Historie linuxového jádra: přes milion commitů v řádu jednotek gigabajtů
  • Klony velkých repozitářů podle dokumentace trvají hodiny až dny a zaberou přes 100 GiB
  • Nástroje pro velké projekty: partial clone, sparse checkout, sparse index, FSMonitor, git maintenance a Scalar

Alternativy existují: Mercurial, Fossil s wiki a sledováním chyb, Pijul a Darcs s jiným pojetím změn nebo Jujutsu, které zůstává s Gitem kompatibilní a přidává záznam operací. Migraci však brzdí okolní ekosystém — GitHub, GitLab, Gitea, pull requesty, chráněné větve, bezpečnostní skeny a vydávací pipeline. Pro binární data navíc slouží Git LFS a git-annex, které obsah ukládají mimo běžný objektový model.