# Git worktree v Claude Code: paralelní relace

> Jak používat --worktree, .worktreeinclude, worktree.baseRef a izolaci subagentů. Rozdíly oproti větvím, úklid worktree a časté chyby.

Source: https://ailoot.ai/blog/cs/claude-code-git-worktree/
Canonical: https://ailoot.ai/blog/cs/claude-code-git-worktree/
Language: cs
Publisher: Ailoot (https://ailoot.ai/)
Translation: guide-045
Revision: sha256-cc4ef60c347a2c8dff1a7356c675c3860a0abe80bf82a1cae93b2744d95d8e1e




[Praktické informace o práci s Ailoot najdete v dokumentaci](https://ailoot.ai/docs/).

## Co je git worktree v Claude Code?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Hlavní poznatek z této části">

Hlavní poznatek

Git worktree je samostatný pracovní adresář pro jinou větev stejného repozitáře. Příkaz `claude --worktree <name>` automaticky vytvoří worktree v `.claude/worktrees/<name>/` a spustí v něm Claude Code. Dva terminály → dvě relace → různé soubory na disku, žádné vzájemné zasahování. Funkce je dostupná přímo v Claude Code v2.0+ a lze ji konfigurovat pomocí `.worktreeinclude` pro tajné údaje a `worktree.baseRef` pro výběr výchozí větve.

</div>

Spouštění několika agentů paralelně ve stejné složce je základní problém vibe-codingu v tempu roku 2026. AI agenti píšou kód rychleji, než člověk stíhá sledovat, kdo pracuje na čem. Bez izolace souborů skončí spuštění dvou paralelních relací Claude Code v jednom adresáři tak, že jedna přepíše práci druhé.

Git worktree to řeší na úrovni souborového systému. Máte jeden hlavní adresář, ve kterém pracujete. Příkaz `claude --worktree feature-auth` vytvoří složku `.claude/worktrees/feature-auth/` na samostatné větvi a spustí v ní Claude Code. Soubory jsou izolované. Změny v jedné relaci nejsou viditelné v druhé, dokud je výslovně nesloučíte.

Oficiální dokumentace Anthropic to popisuje takto:

<figure>
<blockquote>
<p>Když každá relace Claude Code běží ve vlastním worktree, úpravy v jedné relaci nikdy neovlivní soubory v jiné. V jednom terminálu můžete vytvářet funkci a v druhém opravovat chybu.</p>
</blockquote>
<figcaption>— Anthropic Docs, https://code.claude.com/docs/en/worktrees</figcaption>
</figure>

Nápověda k sebekontrole: pokud jste někdy dostali commit, ve kterém polovinu souborů vytvořil někdo jiný, potřebujete worktree.

## Jak se git worktree liší od běžné větve?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Hlavní poznatek z této části">

Hlavní poznatek

Běžný `git checkout` přepne pracovní kopii ve stejné složce — staré soubory z disku zmizí, dokud se nevrátíte k původní větvi. `git worktree add` vytvoří **druhou složku** pro další větev vedle první. Obě větve jsou současně na disku; přecházíte mezi nimi jednoduchým `cd`. Pod kapotou je jeden repozitář `.git` se sdílenou historií a vzdáleným repozitářem. Jen několik pracovních kopií.

</div>

Standardní postup v Gitu: jste na větvi `main` a spustíte `git checkout feature-x` — Git přepíše soubory pracovní kopie. Běžící `npm run dev` přestane fungovat, protože se mu pod rukama změnil `package.json`. Uložíte necommitované změny pomocí `git stash` a čekáte, až IDE znovu zindexuje soubory. Přepnete se zpět a všechno se znovu přepíše, takže musíte znovu provést stash a pop.

Git worktree nabízí jinou možnost: místo přepínání **jedné** složky mezi větvemi vytvoříte **druhou** složku pro další větev. Příkaz `git worktree add ../project-feature-x feature-x` vytvoří adresář `../project-feature-x/` se soubory z větve `feature-x`. Větev `main` zůstane v původní složce a vývojový server běží dál.

| Parametr | Větev `git checkout` | `git worktree add` |
|----|----|----|
| Soubory pracovní kopie | Přepsány | Objeví se v nové složce |
| Paralelní práce na dvou větvích | Ne | Ano |
| Necommitované změny | Je potřeba `git stash` | Není třeba nic dělat |
| Rychlost přepínání | Závisí na velikosti rozdílu | Stačí `cd` |
| Místo na disku | 1× | N× (jedna kopie souborů pro každou větev) |

Dříve bylo nutné režim worktree v Claude Code nastavovat ručně: `git worktree add`, potom `cd` a pak `claude` — a to opakovat v každém terminálu. Příznak `--worktree` (také `-w`) zvládne všechny tři kroky jedním příkazem.

## Spuštění první paralelní relace: příznak `--worktree`

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Hlavní poznatek z této části">

Hlavní poznatek

Příkaz `claude --worktree feature-auth` vytvoří worktree v `.claude/worktrees/feature-auth/`, vytvoří větev `worktree-feature-auth` z `origin/HEAD` a spustí tam Claude Code. Není třeba ručně spouštět `git worktree add` ani `cd`. V sousedním terminálu postup opakujte s jiným názvem a získáte dvě nezávislé relace. Pokud název vynecháte (`claude --worktree`), Claude vygeneruje náhodný, například `bright-running-fox`.

</div>

Minimální příklad. Otevřete první terminál v kořenovém adresáři projektu:

```bash
claude --worktree feature-auth
```

Claude Code provede tři kroky:

1. Vytvoří `.claude/worktrees/feature-auth/` se snímkem stavu `origin/HEAD` (obvykle vaší výchozí větve).
2. Vytvoří novou větev `worktree-feature-auth`.
3. Spustí relaci v této složce.

Otevřete druhý terminál ve stejné kořenové složce repozitáře:

```bash
claude --worktree bugfix-123
```

Hotovo. Dvě relace Claude Code, různé soubory na disku a různé větve Gitu. Pokud v první napíšete autentizaci a ve druhé opravíte neprocházející test, fyzicky si nemohou překážet.

Pokud nechcete zadávat název, Claude ho vymyslí:

```bash
claude --worktree
# → vytvoří něco jako .claude/worktrees/bright-running-fox/
```

Tip pro začátečníky s Gitem: přidejte `.claude/worktrees/` do `.gitignore`. Jinak při spuštění `git status` v hlavní složce uvidíte obsah všech worktree jako nesledované soubory:

```
# .gitignore
.claude/worktrees/
```

Čemu se vyhnout: před prvním spuštěním `--worktree` v novém adresáři do něj nejprve vstupte běžným příkazem `claude` (bez příznaku) a přijměte dialog důvěry v pracovní prostor. Pokud to neuděláte, příznak selže s chybou „trust not accepted“ — včetně případu, kdy ho zkombinujete s `-p` pro bezhlavý režim.

## Kde worktree najdete a jak je zobrazit

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Hlavní poznatek z této části">

Hlavní poznatek

Ve výchozím nastavení jsou všechna worktree v `.claude/worktrees/<name>/` vedle kořenového adresáře repozitáře. Seznam zobrazíte příkazem `git worktree list`. Do worktree můžete ručně přejít pomocí `cd .claude/worktrees/feature-auth`. Chcete-li přepnout relaci Claude, požádejte ho, aby „přešel do jiného worktree“; použije vestavěný nástroj EnterWorktree. Původní worktree zůstane na disku nedotčené.

</div>

Výchozí umístění je pevně dané: `.claude/worktrees/<value>/` v kořenovém adresáři repozitáře. Pokud máte projekt v `~/dev/my-app/`, worktree `feature-auth` bude v `~/dev/my-app/.claude/worktrees/feature-auth/`.

Pro nestandardní uspořádání (například chcete-li worktree mimo repozitář) existuje hook `WorktreeCreate` — více o něm níže v části o SVN a Mercurial.

V rámci jedné relace Claude můžete přepnout do jiného existujícího worktree. Stačí do chatu napsat: „přejdi do `.claude/worktrees/bugfix-123`“ a Claude zavolá nástroj `EnterWorktree`. Aktuální složka zůstane nedotčená — stejným způsobem se do ní můžete vrátit.

Standardní příkaz Gitu zobrazí seznam všech worktree včetně hlavního a těch vytvořených ručně:

```bash
git worktree list
```

Výstup bude vypadat takto:

```
/home/user/dev/my-app                  abc1234 [main]
/home/user/dev/my-app/.claude/worktrees/feature-auth  def5678 [worktree-feature-auth]
/home/user/dev/my-app/.claude/worktrees/bugfix-123    9876fed [worktree-bugfix-123]
```

## Kopírování `.env` a tajných údajů: soubor `.worktreeinclude`

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Hlavní poznatek z této části">

Hlavní poznatek

Worktree je nová čistá kopie repozitáře. Soubory z `.gitignore` (`.env`, `.env.local`, místní konfigurace) v nové složce chybí. Bez nich se nespustí `npm run dev` ani `prisma db push`. Soubor `.worktreeinclude` v kořenovém adresáři projektu používá syntaxi `.gitignore` a říká Claude Code, které ignorované soubory se mají automaticky zkopírovat do každého nového worktree. Načítá se při použití `--worktree`, pro worktree subagentů i relací v desktopové aplikaci.

</div>

Když `--worktree` vytvoří novou složku, obsahuje pouze to, co je commitnuté v Gitu. `.env` s klíči API a `.env.local` s místní konfigurací jsou v `.gitignore`, takže v worktree nejsou. A hned první `npm run dev` skončí chybou „MISSING DATABASE_URL“.

Podomácku vytvořené řešení spočívá v ručním kopírování `.env` po každém spuštění `--worktree`. Jednou to funguje, pak se na to zapomene. Řešením Anthropic je soubor `.worktreeinclude` v kořenovém adresáři projektu se seznamem souborů ignorovaných Gitem, které se mají automaticky kopírovat do každého nového worktree.

Vytvořte soubor `.worktreeinclude` v kořenovém adresáři repozitáře:

```
.env
.env.local
config/secrets.json
```

Syntaxe je stejná jako v `.gitignore`. Lze použít vzory glob:

```
.env*
*.local
config/*.json
.vscode/settings.json
```

Anthropic uvádí jasné pravidlo, které předchází nehodám:

<figure>
<blockquote>
<p>Soubor používá syntaxi gitignore. Kopírují se pouze soubory odpovídající vzoru, které jsou zároveň ignorované Gitem. Soubory sledované Gitem se nikdy neduplikují.</p>
</blockquote>
<figcaption>— Anthropic Docs, https://code.claude.com/docs/en/worktrees</figcaption>
</figure>

Jinými slovy, přes `.worktreeinclude` nemůžete omylem zkopírovat `package.json` — není v `.gitignore`. Je bezpečné tam uvést libovolné vzory.

Stejný `.worktreeinclude` funguje ve třech režimech: ruční `--worktree`, automatická worktree pro subagenty (viz níže) a relace z desktopové aplikace Claude.

## Worktree z pull requestu pro kontrolu kódu

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Hlavní poznatek z této části">

Hlavní poznatek

Příkaz `claude --worktree "#1234"` stáhne pull request \#1234 z origin a vytvoří worktree v `.claude/worktrees/pr-1234/` s větví PR. Můžete zadat úplnou URL — `claude --worktree https://github.com/OWNER/REPO/pull/1234`. Hodí se ke kontrole kódu: otevřete PR ve vlastní složce a Claude může spouštět testy, číst protokoly a napsat komentář, zatímco hlavní repozitář zůstane nedotčený.

</div>

Běžný scénář kontroly kódu: kolega poslal PR; potřebujete prohlédnout kód, spustit testy a zanechat komentář. Při běžném `git checkout pull/1234/head` znovu přepnete pracovní kopii a narušíte aktivní relaci.

S příznakem `--worktree` to zvládnete jedním příkazem:

```bash
claude --worktree "#1234"
```

Co se stane: Claude Code spustí `git fetch origin pull/1234/head`, vytvoří worktree v `.claude/worktrees/pr-1234/` a přepne se na větev PR. Spustí se relace. Můžete hned požádat, aby „přečetl diff, spustil testy a našel logické chyby“ — zatímco Claude pracuje, vaše hlavní relace na `main` běží dál.

Alternativní zápis je úplná URL pull requestu:

```bash
claude --worktree https://github.com/OWNER/REPO/pull/1234
```

Použití ve skutečném projektu: když spojíte `claude --worktree "#N"` s vlastním subagentem pro kontrolu kódu, získáte automatickou kontrolu během minuty nebo dvou. Spusťte ho na pozadí, pokračujte v práci v hlavním okně a k výsledku se vraťte přes `claude agents`.

## Výchozí větev: `worktree.baseRef` pro `fresh` nebo `head`

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Hlavní poznatek z této části">

Hlavní poznatek

Ve výchozím nastavení se worktree vytváří z `origin/HEAD` — posledního synchronizovaného commitu ze vzdáleného repozitáře. Jde o bezpečný, „čistý“ začátek. Chcete-li zahrnout místní neodeslané commity, nastavte `worktree.baseRef: "head"`. HEAD označuje commit; necommitnuté úpravy sledovaných souborů zůstávají v původní kopii a potřebují samostatný výslovný přenos. Hodí se, když má subagent pracovat na základu vaší aktuální funkce, aniž byste přepínali na main. Přijímá pouze `fresh` nebo `head`; libovolné refy nejsou podporované.

</div>

Výchozí nastavení je následující: každé nové worktree začíná z `origin/HEAD`. Výhodou je čistý začátek, který se zaručeně shoduje s tím, co uvidí CI. Nevýhodou je, že se do nového worktree nezahrnou necommitované změny ani několik místních commitů navíc oproti vzdálené větvi.

Chcete-li worktree spustit z aktuálního místního commitu HEAD, přidejte toto do `.claude/settings.json` (nebo globální konfigurace):

```json
{
  "worktree": {
    "baseRef": "head"
  }
}
```

Nyní `claude --worktree experimental-feature` začíná z aktuálního místního `HEAD`. Hodí se to pro funkci s místními commity, které ještě nejsou odeslané. Nezahrnuje to stále necommitnuté úpravy sledovaných souborů. Potřebuje-li je podagent, zachovejte a výslovně přeneste požadované změny a ověřte cílový diff; tento přenos nezaměňujte s `.worktreeinclude` pro ignorované místní soubory.

Toto nastavení přijímá přesně dvě hodnoty: `"fresh"` (= `origin/HEAD`) a `"head"` (= místní HEAD). Libovolné refy jako `"feature-branch"` nebo hash commitu podporované nejsou — jde o záměrné omezení, které má zabránit kombinatorické explozi možností.

## Automatická izolace subagentů: `isolation: worktree`

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Hlavní poznatek z této části">

Hlavní poznatek

Subagent v Claude Code je specializovaný agent, který plní jeden úkol (kontrola kódu, refaktoring, výzkum). Pokud z jedné relace spustíte několik subagentů paralelně, ve výchozím nastavení pracují ve stejné složce a mohou si přepisovat soubory. Přidejte do záhlaví subagenta `isolation: worktree`, aby každý dostal dočasné worktree, které se po dokončení čistě odstraní, pokud v něm subagent nic necommitoval.

</div>

Když Claude řeknete „spusť tři subagenty: jeden prohlédne databázi, druhý se podívá na API a třetí zkontroluje testy“, všichni tři ve výchozím nastavení pracují ve vaší pracovní kopii. Pokud třeba jen dva z nich současně upravují stejný soubor, dojde ke konfliktu. Řešením je automaticky každému přidělit vlastní worktree.

Metoda 1: požádejte ho běžným způsobem. Napište Claudeovi v konverzaci:

```
Use worktrees for your agents.
```

Claude použije izolaci pro všechny následující subagenty v této relaci.

Metoda 2: nastavte ji přímo v definici subagenta. Do souboru subagenta (například `.claude/agents/code-reviewer.md`) přidejte pole do záhlaví:

```yaml
---
name: code-reviewer
description: Reads the diff and writes code review comments
isolation: worktree
---

You're a meticulous reviewer. Read the diff and look for logic errors...
```

Od této chvíle dostane každé spuštění tohoto subagenta dočasné worktree v `.claude/worktrees/`. Pokud subagent nic nezapsal, složka se po jeho dokončení automaticky odstraní. Pokud jsou v něm necommitované změny, Claude se zeptá, zda je ponechat, nebo odstranit.

Výchozí větev pro worktree subagentů je stejná jako pro `--worktree`: standardně `origin/HEAD`, s `worktree.baseRef: head` místní `HEAD`.

## Rozhodovací matice: worktree, `/bg`, subagent nebo Agent View

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Hlavní poznatek z této části">

Hlavní poznatek

Čtyři mechanismy Claude Code, které se často zaměňují. Worktree zajišťuje **izolaci souborů** (disk). `/bg` zajišťuje **běh relace na pozadí** (kontext a tokeny). Subagent je **specializovaný jednorázový agent** (zadání a nástroje). Agent View je **ovládací panel pro všechny relace** (UI). Lze je kombinovat: `/bg` automaticky vytvoří worktree, subagent s `isolation: worktree` začne v dočasném worktree a Agent View zobrazí všechny tři jako řádky v jednom seznamu.

</div>

| Nástroj | Co izoluje | Kdy ho použít |
|----|----|----|
| `claude --worktree <name>` | Soubory (samostatná složka + větev) | Chcete ručně udržovat N paralelních relací v různých terminálech |
| `/bg` (nebo `Ctrl+B`) | Kontext a čas | Dlouhý úkol, který nemá blokovat aktuální okno. Worktree se vytvoří na pozadí |
| Subagent s `isolation: worktree` | Soubory v rámci jedné relace | Jedno zadání rozdělí práci mezi N agentů a potřebujete zabránit tomu, aby si přepisovali práci |
| `claude agents` (Agent View) | Nic, je to UI | Chcete vidět všechny běžící / pozastavené / dokončené relace v jednom ovládacím panelu |
| `/goal` | Správa autonomie | Chcete, aby Claude pracoval, dokud nebude splněna podmínka, aniž by mezi jednotlivými tahy potřeboval vaše pokyny |

Typické kombinace:

- **„2 funkce paralelně, ručně“** — dva terminály, v každém běží `claude --worktree`. Nejjednodušší případ.
- **„Spusť noční refaktoring; zavřu aplikaci“** — `/bg` + `/goal` s podmínkou dokončení. Relace běží nezávisle na vašem okně.
- **„Jedno zadání, tři paralelní průzkumy“** — tři subagenti s `isolation: worktree`. Každý ve vlastním izolovaném prostředí.
- **„Co právě běží?“** — `claude agents`. Ovládací panel všech relací s filtry „běží“, „blokováno“ a „hotovo“.

## 5 úskalí při práci s worktree

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Hlavní poznatek z této části">

Hlavní poznatek

Nejčastější problémy: zapomenete na `.worktreeinclude` a prostředí nefunguje; zaměníte worktree za běžnou větev a přijdete o necommitované změny; udržujete více než 5 paralelních relací a zapomenete, co je kde; nenastavíte `cleanupPeriodDays` a mrtvé složky se hromadí; nebo zapomenete dialog důvěry v novém adresáři a `--worktree` selže s chybou.

</div>

**1. Spustili jste worktree, chybí `.env` a nic nefunguje.** Nejčastější problém. Worktree je čistá kopie repozitáře bez souborů ignorovaných Gitem. Při nastavování režimu worktree přidejte co nejdříve soubor `.worktreeinclude` se vzorem `.env*` a potřebnými místními konfiguracemi. Zkontrolujte, že soubor leží v kořenovém adresáři repozitáře, ne v `.claude/`.

**2. Chcete přepnout na hlavní větev, zadáte `cd` do kořenového adresáře a přijdete o necommitované změny ve worktree.** Kořenová složka a worktree jsou dvě **různé** pracovní kopie. Vrátili jste se příkazem `cd`; změny ve worktree zůstaly na místě — nikam nezmizely. Pokud jste se ale spletli a spustili `git stash` v hlavní složce v domnění, že jste ve worktree, stash se vytvoří na hlavní větvi, ne na té očekávané.

**3. Spustili jste 5 paralelních relací a už si nepamatujete, co každá dělá.** Dokumentace Anthropic výslovně upozorňuje, že většina vývojářů nedokáže kognitivně zvládnout více než 2–3 relace. Přetížení poznáte podle toho, že otevřete Agent View a nedokážete hned říct, co který agent dělá. Omezte se na dvě souběžné relace. Pokud úkol vyžaduje více, měli byste práci řídit přes `/goal` + subagenty, ne ručně.

**4. Worktree spuštěná s `-p` (bezhlavý režim) se automaticky neuklidí.** Příkaz `claude --worktree feature-x -p "do thing"` nezobrazí interaktivní výzvu při ukončení, takže nenastane okamžik, kdy se Claude zeptá „odstranit worktree?“. Tato worktree se hromadí. Ukliďte je ručně: `git worktree remove .claude/worktrees/feature-x`. Nebo použijte cron skript, který odstraní vše starší než 7 dní.

**5. Dialog důvěry v nové složce.** Pokud repozitář otevíráte poprvé a hned spustíte `claude --worktree`, příkaz selže. Spusťte `claude` bez příznaků, přijměte důvěru v pracovní prostor a ukončete relaci — pak už `--worktree` bude fungovat. Je to záměrné opatření, aby Claude nezískal přístup k cizímu projektu bez souhlasu uživatele.

## Úklid: co se odstraní automaticky

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Hlavní poznatek z této části">

Hlavní poznatek

Worktree z `--worktree` bez změn (bez commitů, nesledovaných souborů a necommitovaných změn) se po ukončení automaticky odstraní. Pokud obsahuje změny, Claude se zeptá. Worktree od subagentů a z `/bg` se automaticky odstraní po uplynutí `cleanupPeriodDays` v konfiguraci, pokud jsou čistá. Worktree z `-p` se neuklízí vůbec — odstraňte je ručně příkazem `git worktree remove`.

</div>

Logika úklidu závisí na tom, co jste ve worktree udělali a jak jste relaci spustili. Dokumentace Anthropic uvádí tři scénáře:

<figure>
<blockquote>
<p>Pokud worktree neobsahuje necommitované změny, nesledované soubory ani nové commity, worktree a jeho větev se po ukončení relace automaticky odstraní. Pokud má relace název, Claude se místo odstranění zeptá, abyste si worktree mohli ponechat na později.</p>
</blockquote>
<figcaption>— Anthropic Docs, https://code.claude.com/docs/en/worktrees</figcaption>
</figure>

Scénář 1: vstoupili jste, nic neudělali a odešli — worktree bylo odstraněno.

Scénář 2: něco jste udělali, ale necommitovali jste to — při ukončení se Claude zeptá „ponechat, nebo odstranit?“. Volba „ponechat“ uloží složku a větev pro pozdější použití. Volba „odstranit“ smaže adresář **spolu s** necommitovanými změnami a novými commity. Je to nevratné — neklikejte na „odstranit“ ze zvyku.

Scénář 3: spustili jste relaci s `-p` (bezhlavý režim) a příkaz skončil. Worktree zůstane. Ukliďte je ručně:

```bash
git worktree remove .claude/worktrees/feature-x
```

Worktree od subagentů a z relací `/bg` navíc automaticky odstraňuje úklid na pozadí, pokud jsou starší než `cleanupPeriodDays` dní (nastavení, obvykle ve výchozím stavu 30 dní) **a zároveň** neobsahují neuloženou práci. Worktree z `--worktree` automatický úklid nezasáhne — za jejich úklid odpovídáte vy.

## Alternativy pro SVN, Perforce a Mercurial: hook `WorktreeCreate`

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Hlavní poznatek z této části">

Hlavní poznatek

Režim worktree standardně používá `git worktree`. Pro SVN, Perforce, Mercurial a další systémy správy verzí můžete připojit vlastní mechanismus pomocí hooků `WorktreeCreate` a `WorktreeRemove` v nastavení Claude Code. Hook dostane název přes stdin, musí vypsat cestu k vytvořenému adresáři a skončit s návratovým kódem 0. Při použití vlastního hooku se `.worktreeinclude` nezpracovává — místní soubory musíte kopírovat sami v rámci hooku.

</div>

Pokud repozitář používá Subversion nebo Mercurial, příznak `--worktree` nebude fungovat přímo. Anthropic nabízí rozšiřující bod prostřednictvím dvou hooků: `WorktreeCreate` (vytvoří izolovanou kopii) a `WorktreeRemove` (odstraní ji).

Příklad hooku SVN z oficiální dokumentace:

```json
{
  "hooks": {
    "WorktreeCreate": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "bash -c 'NAME=$(jq -r .name); DIR=\"$HOME/.claude/worktrees/$NAME\"; svn checkout https://svn.example.com/repo/trunk \"$DIR\" >&2 && echo \"$DIR\"'"
          }
        ]
      }
    ]
  }
}
```

Hook čte název worktree ze stdin (`{ "name": "feature-auth" }`), spouští `svn checkout` do předem určeného adresáře a vypíše cestu na stdout — Claude Code ji použije jako pracovní adresář nové relace.

Důležité upozornění: při použití vlastního hooku se `.worktreeinclude` nepoužije. Pokud v nové složce potřebujete `.env` nebo jiné soubory ignorované Gitem, zkopírujte je přímo v samotném skriptu hooku.

## Co dál: tři související mechanismy paralelní práce

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Hlavní poznatek z této části">

Hlavní poznatek

Worktree zajišťuje izolaci souborů. `/bg` zajišťuje izolaci kontextu a tokenů. Subagent zajišťuje izolaci úkolů a nástrojů. `/goal` zajišťuje autonomii až do splnění podmínky. Každý samostatně řeší jeden problém. Společně umožňují udržovat 3–5 paralelních úkolů bez kognitivního přetížení. Dále dává smysl projít si související návody na autonomní režim, vlastní subagenty a dynamické pracovní postupy v odkazech níže.

</div>

Worktree poskytuje izolaci souborů. `/bg` poskytuje izolaci kontextu. Subagenti poskytují izolaci úkolů. Každý mechanismus samostatně řeší jeden problém. Společně umožňují pracovat na třech až pěti paralelních úkolech bez kognitivního přetížení. To jsou dovednosti, na kterých stojí pokročilý vibe-coding v roce 2026.

Téma přirozeně navazuje na tři související oblasti: [jak nastavit autonomního agenta pomocí `/goal` a Agent View](https://ailoot.ai/blog/cs/claude-code-goal-agent-view/), [jak si vytvořit vlastní subagenty pro své úkoly](https://ailoot.ai/blog/cs/claude-code-subagents/) a [jak spouštět stovky agentů pomocí Dynamic Workflows](https://ailoot.ai/blog/cs/claude-code-dynamic-workflows/).

<div class="section" role="doc-bibliography" aria-label="Zdroje">

### Zdroje

- [Run parallel sessions with worktrees - Claude Code Docs](https://code.claude.com/docs/en/worktrees)
- [Create custom subagents - Claude Code Docs](https://code.claude.com/docs/en/sub-agents)
- [Claude Code Changelog (May-June 2026)](https://code.claude.com/docs/en/changelog)
- [Run agents in parallel - Claude Code Docs](https://code.claude.com/docs/en/agents)
- [Agent View - Claude Code Docs](https://code.claude.com/docs/en/agent-view)
- [git worktree man page](https://git-scm.com/docs/git-worktree)

</div>





[Přejděte na Ailoot](https://ailoot.ai/).

## Časté otázky

### Zkopíruje baseRef head necommitnuté změny do nového worktree?

Ne. Vychází z aktuálního místního commitu HEAD včetně místních commitů chybějících na vzdáleném serveru. Necommitnuté úpravy sledovaných souborů zůstávají v původní kopii; potřebnou práci přeneste výslovně a nové worktree prohlédněte.

### Proč v novém worktree chybí .env?

Worktree je čerstvá pracovní kopie, takže místní soubory ignorované Gitem chybí. `.worktreeinclude` Claude Code uvádí ignorované soubory ke kopírování; vlastní hook WorktreeCreate to musí zařídit sám. Zahrňte jen soubory potřebné pro úkol.


## Ailoot · Společnost a její portfolio projektů

Ailoot staví na dlouhodobých provozních zkušenostech, široké klientské základně, stabilních službách a průběžném sledování KPI.

Společnost a její portfolio projektů: miliony zákazníků; měsíční tržby v miliardách.

Ailoot využívá tyto provozní zkušenosti k poskytování přístupu přes API k funkcím AI v produktech zákazníků, agentech, aplikacích a automatizacích.
