Lekce 03.5: Pohyb v čase: Git záchranná síť a /rewind (Going Forwards and Backwards)
🧠 Mentální model & teoretický rozbor
Strach z toho, že agent rozbije funkční projekt, je hlavní brzdou odvahy delegovat složité úkoly. Jakmile však ovládnete mechanismus návratu v čase, získáte absolutní inženýrskou svobodu:
STROM MOŽNÝCH HISTORIÍ V GITU:commit A (Stabilní základ v repozitáři) │ ├── Pokus agenta 1 (Slepá ulička) ──> git reset --hard A (Návrat za 2s) │ └── Pokus agenta 2 (Úspěšný čistý refaktor) ──> commit B (Nový stabilní bod)Návrat v čase funguje na dvou úrovních:
- Mikro-úroveň (Harness Rollback / Příkaz
/rewindv Claude Code): Claude Code nabízí příkaz/rewind(nebo stisknutíEscdvakrát v prázdném promptu). Zobrazí interaktivní menu s historií změn souborů a umožní vrátit buď kód, konverzaci, nebo obojí. (Pozor: Starší návody mylně uvádějí neexistující příkaz/undo). - Makro-úroveň (Git commit / stash / reset):
Univerzální, deterministická bezpečnostní síť pro Antigravity (
agy), Claude Code i jakýkoliv jiný nástroj.
🏢 Realistický scénář z praxe
Vývojář chce vyzkoušet přechod z Redux Toolkit na TanStack Query v produkční aplikaci:
- Před zahájením vytvoří větev:
git checkout -b feat/tanstack-migration. - Vytvoří stabilní checkpoint:
git commit -am "checkpoint: pred migraci". - Nechá agenta provést radikální experiment na 15 souborech.
- Po 20 minutách zjistí, že serverové komponenty v Next.js mají problém se serializací.
- Místo hodin ručního vracení změn zadá:
A projekt je zpět v perfektním, funkčním stavu během 1 sekundy. V agentu zadá
Terminál git reset --hard HEAD && git clean -fd/cleara pokračuje novým zadáním.
💻 Konkrétní ukázky kódu & promptů
Arzenál pro cestování časem v terminálu:
# 1. Zahození všech lokálních úprav ve sledovaných souborechgit checkout .
# 2. Odstranění všech nově vzniklých nesledovaných souborů a složekgit clean -fd
# 3. Návrat na konkrétní commit s kompletním smazáním změngit reset --hard HEAD
# 4. Interaktivní návrat v čase v Claude Code (kód vs. konverzace):/rewind⚠️ Analýza selhání & Anti-patterns
Chyba: Provádění experimentů na “špinavém” pracovním stromu
Pokud spustíte agenta v repozitáři, kde máte rozdělané své vlastní necommitnuté změny:
- Agent provede své úpravy a promíchá je s vaším rozpracovaným kódem.
- Pokud se pokus nezdaří, nemůžete použít
git reset --hard, aniž byste přišli o svou vlastní práci! - Železné inženýrské pravidlo: Před spuštěním agenta musí být pracovní strom čistý (
git statushlásí nothing to commit, working tree clean). Vlastní rozdělanou práci odložte dogit stash.
🛠️ Inženýrský postup krok za krokem (Playbook)
- Čistý stůl: Zkontrolujte
git status. Pokud máte rozdělanou práci, odložte ji:git stash save "moje-prace". - Checkpoint: Vytvořte commit před zahájením úkolu:
git commit -am "checkpoint: pred refaktorem". - Experiment: Nechte agenta pracovat.
- Rozcestí:
- Pokud je kód perfektní ➔
git commit --amendnebo nový čistý commit. - Pokud se agent zamotal ➔
git reset --hard HEAD && git clean -fda v agentu/clear.
- Pokud je kód perfektní ➔
🧪 Praktické cvičení (Hands-on Lab)
Úkol:
Vyzkoušejte si proceduru bleskového návratu v čase pomocí Gitu a příkazu /rewind.
Kroky:
- Vytvořte soubor
temp.txts textem „Původní stav“ a commitněte ho:Terminál git add temp.txt && git commit -m "test: vychozi temp" - V agentu (
agyneboclaude) požádejte: „Uprav temp.txt a přidej 3 nové funkce a smaž původní text.“ - V Claude Code vyzkoušejte příkaz
/rewind(nebo 2xEsc) a prozkoumejte interaktivní menu checkpointů. - V shellu vyzkoušejte definitivní Git reset:
Terminál git reset --hard HEAD && git clean -fd - Ověřte, že
temp.txtje v původním stavu a repozitář je 100% čistý.