Image of Lucian Ghinda writing for notes.ghinda.com
October 8th, 2025

How I use git worktree

I've been using git worktree for at least five years now.

Here's how I set things up at work.

How I use git corktree


Say I work on short_ruby project. 

I create a folder called short_ruby and inside I have: 

  • `short_ruby/main` -> which will always remain as head main
  • `short_ruby/pairing` is where I pull branches for code reviews, dig deeper into changes, or show draft code to a colleague.
  • `short_ruby/feature_<id>` is a new worktree I create for each feature I work on, and I remove it when I'm done.

Why these folders:

  1. I always keep a local copy of the current main branch. This helps me review changes or start something new, since I can quickly check how production works if main is what's deployed.
  2. I also want to quickly access any branch I'm reviewing, while still being able to see the main branch. Having separate folders makes it easy to switch between them.
  3. I keep a folder for each feature, which is similar to using branches. The difference is that I can always check main or another branch while working on a new feature.