Git Worktrees
Simpele Uitleg
Git worktrees laten je meerdere versies van dezelfde codebase tegelijk open hebben in aparte mappen, zonder steeds te switchen. Stel je voor dat je een boek aan het schrijven bent. Normaal heb je één exemplaar op je bureau en moet je steeds bladeren tussen hoofdstukken. Met worktrees heb je meerdere kopieën naast elkaar liggen, elk open op een ander hoofdstuk, en wijzigingen in elk exemplaar worden automatisch gesynchroniseerd. Dit is bijzonder krachtig voor agentic coding: je kunt meerdere Claude Code sessies tegelijk laten werken, elk op een eigen feature.
Technische Definitie
Git worktrees zijn een Git-feature waarmee je meerdere working directories kunt uitchecken vanuit één gedeelde `.git` directory. Elke worktree heeft een eigen HEAD, index (staging area) en werkbestanden, maar deelt de object database, refs en configuratie via `$GIT_COMMON_DIR`. Een linked worktree bevat een `.git` bestand (geen directory) dat verwijst naar de hoofd-repository. Eén `git fetch` update alle worktrees tegelijk. De diskruimte is efficiënter dan klonen: alleen de werkbestanden worden gedupliceerd, niet de hele object database. Anthropics Claude Code documentatie beveelt worktrees officieel aan voor multi-sessie workflows.
Waarom Dit Belangrijk Is
In het tijdperk van agentic coding zijn worktrees een gamechanger. Het traditionele Git-workflow (branch uitchecken, werken, stashen, switchen) is sequentieel — je kunt maar aan één ding tegelijk werken. Met worktrees werk je parallel.
Dit is cruciaal voor AI-gestuurde ontwikkeling. Je kunt vier of vijf Claude Code sessies tegelijk draaien, elk in een eigen worktree, elk werkend aan een andere feature of bugfix. Bedrijf incident.io rapporteerde dat ze significant sneller features shippen door worktrees te combineren met Claude Code.
Maar ook zonder AI zijn worktrees waardevol. Een urgente bugfix terwijl je midden in een feature zit? Open een worktree, fix de bug, commit, en ga terug naar je feature — zonder iets te stashen of context te verliezen.
In de Claude Code Masterclass leer je hoe je worktrees effectief combineert met AI-coding tools voor maximale productiviteit.
Hoe Het Werkt
Worktrees werken door één Git-repository op te splitsen in meerdere fysieke mappen die allemaal dezelfde geschiedenis delen.
Je begint met je hoofdrepository, bijvoorbeeld in `/project/main`. Als je een feature wilt bouwen, maak je een worktree aan: `git worktree add -b feature-login ../feature-login main`. Dit creëert een nieuwe map `/project/feature-login` met de code op een nieuwe branch, terwijl je hoofdmap onaangetast blijft.
Nu kun je in beide mappen tegelijk werken. Open twee terminals, twee IDE-vensters, of twee Claude Code sessies. Elke worktree heeft zijn eigen bestanden en staging area, maar commits die je in de ene maakt zijn zichtbaar vanuit de andere.
Als je klaar bent met de feature, merge je de branch en ruim je de worktree op: `git worktree remove ../feature-login`.
Er zijn wel aandachtspunten. Elke worktree heeft zijn eigen `node_modules` nodig (extra diskruimte). Development servers draaien op dezelfde poorten (conflicten). En je kunt dezelfde branch niet in twee worktrees tegelijk uitchecken. Maar voor parallel werken — vooral met AI-agents — zijn de voordelen enorm.
Use Cases
Parallel AI-agent sessies
Draai vijf Claude Code sessies tegelijk: één refactort de authentication, één bouwt een nieuwe API-endpoint, één schrijft tests, één fixt bugs, en één update de documentatie. Elke sessie werkt geïsoleerd zonder conflicten.
Urgente bugfix zonder context-verlies
Je bent midden in een complexe feature. Er komt een urgente bug binnen. Met worktrees open je een nieuwe map op de main branch, fix de bug, commit en push — zonder je feature-werk te stashen of IDE-state te verliezen.
Code review met context
Review een pull request in een eigen worktree terwijl je eigen werk intact blijft. Je kunt de code draaien, testen en experimenteren zonder je werkbranch te beïnvloeden.
Output vergelijken van AI-agents
Geef dezelfde taak aan meerdere AI-agents in aparte worktrees. Vergelijk de resultaten en kies de beste implementatie. Dit is effectiever dan sequentieel proberen.
Voorbeelden
Basiscommando's
incident.io workflow
Worktrees vs. klonen
Veelgemaakte Fouten
"Ik kan dezelfde branch in meerdere worktrees uitchecken"
Dat kan niet — Git staat dit niet toe om conflicten te voorkomen. Elke worktree moet op een unieke branch staan. Maak voor elke worktree een nieuwe branch aan vanaf main of de gewenste basis.
"Worktrees delen hun node_modules"
Elke worktree heeft zijn eigen werkbestanden, inclusief een eigen `node_modules` map. Je moet in elke worktree apart `npm install` draaien. Dit vermeerdert diskgebruik — houd daar rekening mee bij veel worktrees.
"Ik kan de worktree-map gewoon verwijderen"
Verwijder worktrees altijd via `git worktree remove`. Als je de map handmatig verwijdert, blijven er stale referenties achter in de Git-administratie. Draai dan `git worktree prune` om op te ruimen.
Tools Die Dit Gebruiken
Veelgestelde Vragen
Hoeveel worktrees kan ik tegelijk hebben?
Werken worktrees met alle Git-hosting platforms?
Wat als twee worktrees dezelfde bestanden wijzigen?
Moet ik worktrees gebruiken met Claude Code?
Gerelateerde Termen
Wil je deze term in de praktijk leren toepassen?