Jak začít · Krok 2 z 4

· 4 min čtení

Git pro vibecodery: záchranná brzda u AI kódu

David Šimek · Základy

Vibecodit můžeš začít hned, informatiku studovat nemusíš. Git je ale první věc, kterou si osvoj: za odpoledne ho máš v ruce a od té chvíle tě žádná změna od agenta nepoloží.

Tenhle návod je záměrně začátečnický. Projdeš init, commit, větve, push/pull, .gitignore a hlavně: jak vrátit špatnou AI změnu. Příkazy jsme ověřili v oficiální dokumentaci Git.

Proč AI kód bez Gitu bolí

AI agent umí za minutu upravit desítky souborů. Bez historie:

  • nevíš, co přesně změnil,
  • neumíš se vrátit o krok zpět,
  • dvě rozpracované věci se ti smíchají do sebe.

Git je systém pro verzování. Ukládá snímky projektu (commity). Když agent něco pokazí, vrátíš se ke snímku, který ještě fungoval. V našem workflow s Claude Code proto platí: každý úkol začíná na čisté větvi.

Jednorázové nastavení

Před první prací řekni Gitu, kdo jsi (stačí jednou na počítači):

git config --global user.name "Tvoje Jmeno"
git config --global user.email ty@example.com

Zdroj: gittutorial; ověřeno 2026-10-14.

Nový projekt: git init

V adresáři projektu:

cd mujprojekt
git init

Git odpoví něco jako Initialized empty Git repository in .git/. Tím vznikne skrytá složka .git s historií.

Existující projekt: git clone

Když už repo někde je (GitHub, GitLab…):

git clone https://example.com/mujprojekt.git
cd mujprojekt

Clone ti stáhne celou historii a nastaví vzdálený odkaz origin.

Zdroj: gittutorial; ověřeno 2026-10-14.

Stav: git status

Nejužitečnější příkaz v začátcích. Spouštěj ho často.

git status

Ukáže:

  • na které větvi jsi,
  • které soubory jsou změněné,
  • které jsou připravené k commitu (staged),
  • které Git ještě nesleduje.

Přidání a commit: git add, git commit

git add soubor.py
# nebo všechno relevantní v aktuální složce:
git add .
git commit -m "Pridej kontaktni formular"
  • git add pořídí snímek souborů do indexu (staging area).
  • git commit ten snímek trvale uloží do historie.

Bez -m se otevře editor na delší zprávu. Krátká první řádka (do cca 50 znaků) je dobrý zvyk.

Rychlá varianta pro už sledované, jen upravené soubory:

git commit -a -m "Oprav validaci emailu"

Tohle nepřidá nové soubory, jen upravené. Nové musíš nejdřív git add.

Zdroj: gittutorial; ověřeno 2026-10-14.

Historie: git log

git log
git log --oneline     # stručněji

Vidíš seznam commitů. Každý má hash (dlouhé ID), autora, datum a zprávu.

Větve: git branch, git switch

Větev je oddělená linie práce. Ideální na jeden úkol od AI agenta.

git branch                    # vypiš větve (* = aktuální)
git branch feat/formular      # vytvoř větev
git switch feat/formular      # přepni se na ni

Moderní příkaz na přepínání je git switch (v tutoriálu Git je uvedený právě tak). Až úkol dokončíš a zmerguješ, větev můžeš smazat:

git branch -d feat/formular

Zdroj: gittutorial; ověřeno 2026-10-14.

Sdílení: git push, git pull

git push -u origin feat/formular   # poprvé nahraj větev na vzdálený server
git push                           # další commity
git pull                           # stáhni a zmerguj změny z origin

pull = fetch (stáhni) + merge (sluč do aktuální větve). Před pullem je lepší mít lokální změny commitnuté.

.gitignore: co Git nesmí vidět

V kořeni projektu vytvoř soubor .gitignore. Typický začátek pro Python a vibecoding:

.env
.venv/
__pycache__/
*.pyc
.DS_Store

Nejdůležitější pravidlo: soubor .env s API klíči a hesly nikdy necommituj. Do repa patří maximálně .env.example bez skutečných tajemství. Stejně tak nepatří do Gitu virtuální prostředí (viz Python a virtualenvwrapper).

Když .env omylem přidáš předtím, než je v ignore:

git rm --cached .env
# přidej .env do .gitignore, pak:
git commit -m "Prestani sledovat .env"

Jak vrátit špatnou AI změnu

Tady Git opravdu zachraňuje. Rozliš tři situace.

1) Změny ještě nejsou commitnuté

Agent upravil soubory, commit jsi neudělal:

git restore soubor.py     # vrať jeden soubor z indexu/working tree
git restore .             # vrať všechno v aktuální složce

git restore obnoví soubory ve working tree (výchozí) z indexu. S --staged je vezme z indexu zpět (unstage). S --source můžeš sáhnout do konkrétního commitu.

git restore --staged soubor.py              # jen unstage
git restore --source=HEAD --staged --worktree soubor.py

Zdroj: git-restore; ověřeno 2026-10-14.

2) Špatný commit už je v historii, ale ještě ne na serveru / jen lokálně

Nejjednodušší bezpečná cesta pro začátečníky: nový commit, který změnu vrátí.

git revert HEAD           # vytvoří nový commit s opakem posledního
git revert abc1234        # revert konkrétního commitu podle hashe

git revert nevymazává historii. Přidá commit, který aplikuje opak změn. Working tree musí být čistý.

Zdroj: git-revert; ověřeno 2026-10-14.

3) Chceš zahodit celou AI větev

git switch main
git branch -D feat/experiment

-D smaže větev i s commity, které jinde nejsou. Používej jen když jsi si jistý.

Pozor na git reset --hard: zahodí necommitnuté změny i commity z aktuální větve. Oficiální tutoriál před ním výslovně varuje. Na začátek preferuj restore a revert.

Mini workflow s AI agentem

  1. git switch -c feat/ukol (nebo git branch + git switch).
  2. Nech agenta pracovat.
  3. git status a git diff — vždy si diff přečti.
  4. git add + git commit.
  5. Když je to rozbité: git restore (necommitnuto) nebo git revert (commitnuto).

Stejný rytmus popisujeme v Claude Code v praxi. Jak vybírat nástroj: Claude Code vs Cursor vs Codex.

Shrnutí

Chci… Příkaz
Začít sledovat projekt git init / git clone
Vidět stav git status
Uložit změnu git add + git commit
Oddělit úkol git branch + git switch
Sdílet git push / git pull
Vrátit necommitnuté git restore
Vrátit commit git revert

Git se neučíš proto, abys byl „pravý programátor". Učíš se ho, abys mohl vibecodovat bez strachu. Spoj ho s izolovaným Python prostředím z návodu na virtualenvwrapper a máš dvě nejdůležitější brzdy, než pustíš agenta na volno.

Chceš jednu stránku s těmito příkazy do tisku? Přihlas se k odběru našeho newsletteru.

Související články