Git je distribuovaný systém pro správu verzí souborů, používaný zejména při vývoji softwaru. Ukládá historii potvrzených změn do repozitáře a umožňuje porovnávat verze, pracovat na větvích a sdílet změny mezi kopiemi projektu. Git není totožný s hostingovou službou GitHub ani s cloudovou synchronizací složky.

Pracovní soubory, index a commit

Pracovní adresář obsahuje soubory, které uživatel upravuje. Git rozlišuje soubory sledované v repozitáři a dosud nesledované. Příkaz git add připravuje vybraný obsah do indexu, označovaného také staging area. git commit z připraveného stavu vytvoří revizi. Změna na disku, přidání do indexu a vytvoření commitu jsou tedy samostatné kroky.

Historie a větvení usnadňují zjistit, co se změnilo a jak na sebe úpravy navazují. Samotné vytvoření commitu ale neznamená, že je kopie mimo daný počítač. Pro sdílení se používají vzdálené repozitáře a operace jako push a fetch; jejich provoz i přístupová práva jsou další část pracovního postupu. Jediná místní kopie nemusí být dostatečná záloha.

Větev umožňuje rozvíjet změny odděleně a později je spojit s jinou větví. Při souběžných úpravách stejného místa může vzniknout konflikt vyžadující rozhodnutí člověka. Není proto správné zaměňovat Git za automatické zálohování nebo předpokládat, že každé propojení dvou verzí vždy proběhne samo a bez kontroly výsledku.

K čemu slouží .gitignore

Soubor .gitignore obsahuje vzory pro úmyslně nesledované soubory, které Git nemá běžně nabízet k přidání. Typicky jde o sestavené výstupy, dočasné soubory nebo virtuální prostředí. Pravidlo samo nesmaže soubor z disku a neodstraní ho z již vytvořených commitů. Soubory, které Git už sleduje, pravidlo nezačne ignorovat jen tím, že je do souboru doplníte.

Vzor může platit pro soubor nebo adresář a jeho význam závisí i na umístění souboru s pravidly. Existují projektová pravidla v repozitáři a další lokální či uživatelská nastavení. Výjimka začínající vykřičníkem může některý vzor obrátit, ale pokud je ignorován celý rodičovský adresář, Git nemusí jeho obsah dále procházet. Při složitějších pravidlech je lepší chování vyzkoušet než hádat.

Jednoduchý příklad a diagnostika

Modelový soubor .gitignore v kořeni Python projektu může obsahovat:

TEXT
.venv/
__pycache__/
*.pyc
*.tmp

Tato pravidla například vylučují běžně vytvářené prostředí, cache a dočasné soubory, pokud je Git již nesleduje. Pro konkrétní nesledovanou cestu lze příkazem git check-ignore -v cesta/k/souboru zjistit odpovídající pravidlo a jeho zdroj. Příkaz má vlastní pravidla pro již sledované soubory, proto je při diagnostice vhodné ověřit i stav souboru v indexu.

Ignorování není ochrana tajemství

Přidání souboru s heslem do .gitignore nepomůže, pokud už je soubor sledovaný nebo se tajný údaj dostal do historie. Je třeba řešit uniklé přihlašovací údaje i případné publikované kopie. Přepisování historie je samostatná operace s dopady na další spolupracovníky; odstranění souboru z pracovního adresáře samo neodstraní předchozí revize.

Git řeší verze projektu, zatímco Dropbox primárně synchronizuje soubory mezi zařízeními. Jejich pravidla ignorování mají odlišné účely a podobný zápis nezaručuje shodné chování. Článek 404M z roku 2026 popisuje potíže se souborem rules.dropboxignore; pozorovaný problém nelze automaticky přenést na parser Gitu. Kromě uvedeného článku nebyl v prohledaném archivu doložen starší samostatný výklad Gitu od autora.

Z archivu 404M

Související pojmy

  • Dropbox — Synchronizace souborů je jiná činnost než verzování a pravidla Dropboxu a Gitu nejsou zaměnitelná.
  • Python — U Python projektu se často spravuje zdrojový kód a ignorují se lokální prostředí, cache a generované soubory.
  • Codex — Programovací agent může pracovat v repozitáři, ale Git a správa jeho historie existují nezávisle na agentovi.