Git Worktrees
Directory Convention
Worktrees live in a sibling directory named <project>_worktrees:
code
parent/
├── myproject/ # main repo
└── myproject_worktrees/ # worktrees directory
├── feature_1/
└── feature_2/
Branch Naming
Use <feature>_<N> pattern when creating multiple worktrees:
- •
auth-refactor_1,auth-refactor_2 - •
api-migration_1,api-migration_2
Workflow
- •Get project name from current directory
- •Create worktrees directory if needed:
../<project>_worktrees/ - •Create worktree with new branch:
git worktree add <path> -b <branch>
Creating Multiple Worktrees
When asked for N worktrees for a feature:
bash
PROJECT=$(basename "$PWD")
WORKTREES_DIR="../${PROJECT}_worktrees"
mkdir -p "$WORKTREES_DIR"
for i in $(seq 1 N); do
git worktree add "${WORKTREES_DIR}/<feature>_${i}" -b "<feature>_${i}"
done
Cleanup
Remove worktree and branch:
bash
git worktree remove <path> git branch -d <branch>
List all worktrees: git worktree list