Hey tech-vrienden!
Woz hier weer, klaar om je workflow een flinke boost te geven. Heb je ook wel eens dat je midden in een feature zit en er komt een spoed-bugfix tussendoor? Of je wilt even snel iets testen op een andere branch zonder je huidige werk te stashen of een hele nieuwe kloon te maken? Dan is Git Worktrees jouw nieuwe beste vriend!
Wat zijn Git Worktrees precies?
Zie het zo: normaal heb je één werkmap voor je Git-repository. Met worktrees kun je meerdere aparte werkmappen aanmaken, die allemaal naar dezelfde onderliggende Git-repository wijzen. Elke werkmap kan op een andere branch staan. Fantastisch, toch? Je hoeft je project niet opnieuw te klonen, maar je hebt wel compleet geïsoleerde omgevingen voor je verschillende taken.
Waarom zou je dit willen gebruiken?
Dit is waar de magie gebeurt. Als maker ben ik altijd op zoek naar manieren om efficiënter te zijn, en worktrees zijn daar perfect voor:
- Supersnel schakelen: Je werkt aan
feature/Aen wilt snel naarbugfix/Bspringen. Geengit stashofgit switchgedoe meer dat je werk beïnvloedt. Je opent gewoon jebugfix/Bworktree en gaat direct aan de slag. - Meerdere taken tegelijk: Je kunt tegelijkertijd aan verschillende branches werken, elk in hun eigen map en met hun eigen build-output. Ideaal voor complexe projecten of als je even moet wachten op een build in de ene map, terwijl je in de andere verder werkt.
- Testen en experimenteren: Wil je een idee snel uitproberen op een experimentele branch zonder je hoofdwerkmap te vervuilen? Maak een worktree aan, experimenteer erop los, en gooi de worktree weg als je klaar bent. Simpel!
- Schone omgevingen: Elke worktree heeft zijn eigen index en werkdirectory, wat betekent dat je geen last hebt van bestanden die per ongeluk achterblijven van een andere branch.
Hoe werkt het in de praktijk?
Het is verrassend eenvoudig om te beginnen met worktrees:
-
Een nieuwe worktree toevoegen: Stel, je bent in je hoofd-repository en wilt een nieuwe worktree voor
bugfix/criticalaanmaken in de map../bugs/critical:git worktree add ../bugs/critical bugfix/criticalGit maakt dan de map../bugs/criticalaan en checktbugfix/criticaldaar uit. -
Je worktrees bekijken: Ben je de weg kwijt? Geen probleem:
git worktree listDit toont je alle actieve worktrees en de branches waarnaar ze verwijzen. -
Een worktree verwijderen: Klaar met je bugfix? Verwijder de worktree net zo makkelijk als je hem aanmaakte:
git worktree remove ../bugs/criticalLet op: de branch zelf blijft gewoon bestaan in je hoofd-repository. Alleen de werkmap verdwijnt.
Woz’s hack-tip
Combineer worktrees met je favoriete IDE of teksteditor. Open elke worktree als een apart project. Zo heb je een overzichtelijke setup en kun je naadloos wisselen tussen je verschillende projecten of taken. Het voelt bijna alsof je meerdere projecten hebt, maar ze delen slim hun Git-geschiedenis.
Dus, als je je ontwikkelworkflow wilt stroomlijnen en minder tijd wilt kwijt zijn aan ‘Git-management’, duik dan eens in Git Worktrees. Het is een kleine aanpassing met een groots effect op je productiviteit. Veel plezier met bouwen!