Co do repozitáře nepatří
Klíče, hesla a soubory, které tam nemají co dělat. Nejčastější bezpečnostní chyba začátečníků a jak jí předejít.
11 minlekce 53/107
Po lekci umíš
- Víš, co se do Gitu nikdy nesmí dostat
- Umíš nastavit .gitignore
- Víš, co dělat, když se tajemství přesto dostane do historie
Obsah lekce (4)
Git si pamatuje všechno. To je jeho síla i past: co jednou commituješ, zůstává v historii, i když to potom smažeš.
Proto je potřeba vědět, co tam nepustit.
Tři kategorie
Tajemství
Hesla, API klíče, tokeny, přístupy k databázi. Nikdy. Za žádných okolností.
Věci, které se dají vyrobit znovu
Nainstalované balíčky (
node_modules), výsledky buildu (.next,dist,out). Zabírají obrovský prostor a nemají žádnou hodnotu – vyrobí se příkazem.Osobní a systémové smetí
Nastavení tvého editoru, systémové soubory (
.DS_Storena macOS), lokální poznámky, testovací data se skutečnými jmény lidí.
Soubor .gitignore
Seznam toho, co má Git ignorovat. Leží v kořeni projektu.
# závislosti
node_modules/
# build
.next/
out/
dist/
# proměnné prostředí
.env
.env.local
.env*.local
# systém a editory
.DS_Store
Thumbs.db
.vscode/
.idea/
# logy
*.logVětšina projektů založených moderním nástrojem už rozumný .gitignore má. Stojí za to ho zkontrolovat.
Zkontroluj, co se commituje
Než poprvé pošleš projekt na GitHub.
Zkontroluj mi tenhle projekt z pohledu bezpečnosti Gitu.
1. Je v repozitáři něco, co vypadá jako heslo, klíč, token nebo přístup?
Prohlédni i historii, ne jen aktuální stav.
2. Commitují se soubory, které by se commitovat neměly – závislosti,
build, lokální nastavení?
3. Je .gitignore úplný pro tenhle typ projektu?
Vypiš mi nálezy a u každého napiš, jak vážné to je. Zatím nic neopravuj.Klíče patří do proměnných prostředí
Když aplikace potřebuje API klíč, nepíše se do kódu. Ukládá se do souboru .env.local, který je v .gitignore.
Aby ostatní věděli, jaké proměnné projekt potřebuje, přidává se do repozitáře soubor .env.example – se jmény proměnných, bez hodnot.
# Zkopíruj do .env.local a vyplň skutečné hodnoty.
# Tenhle soubor se commituje, .env.local nikdy.
DATABASE_URL=
RESEND_API_KEY=
NEXT_PUBLIC_SITE_URL=http://localhost:3000Podrobně o tom byla lekce o proměnných prostředí.
Když se klíč dostane do historie
Stane se to. Důležité je vědět, co dělat, a hlavně v jakém pořadí.
Zneplatni klíč
První a nejdůležitější krok. Jdi do služby, která klíč vydala, a zruš ho. Vygeneruj nový.
Až potom řeš historii
Odstranění z historie je složité a nikdy není stoprocentní. Klíč mohl být zkopírovaný dřív, než jsi to zjistil.
Přidej ho do .gitignore
Ať se to neopakuje.
Spusť ve svém projektu kontrolní prompt z téhle lekce.
Když najde problém, oprav ho. Když nenajde, přidej si do CLAUDE.md řádek: „Nikdy necommituj soubory s klíči nebo hesly. Před commitem zkontroluj změněné soubory.“
Co si odnést
- Do Gitu nepatří tajemství, generované soubory a osobní smetí.
.gitignoreříká, co se má ignorovat..env.exampleříká, jaké proměnné projekt potřebuje.- Když se klíč dostane do historie: nejdřív ho zneplatni, teprve pak řeš historii.
- Klíč ve veřejném repozitáři ber vždycky za kompromitovaný.
Máš to za sebou?
Označ lekci jako hotovou, ať víš, kde jsi skončil. Nic se tím neuzamkne.
Další lekceGitHub a uložení mimo počítačObsah aktualizován: 21. srpna 2026