bryonjacob avatar

working-in-git-worktrees

Working in isolated worktree directories for parallel work - work normally, tests isolated, orchestr

提供方 bryonjacob|开源

Working in Git Worktrees

Purpose

Git worktrees create isolated working directories on separate branches. Enables parallel work without conflicts.

Why you're in a worktree:

  • Parallel work with other agents
  • Test/lint isolation
  • Independent branch work

Check if in Worktree

git rev-parse --git-dir
# .git → main repo
# ../path/.git/worktrees/name → worktree

git branch  # Shows your feature branch

Working Normally

Everything works normally!

  • Commit, push, pull as usual
  • Run tests in isolation
  • Create PRs
  • All git operations work

What's different:

  • Separate working directory
  • Changes don't affect parallel work
  • Tests/lint see only your changes

Workflow

# Delegated to worktree
cd ../worktree-42

# Verify
git branch  # feature-branch-42
git status  # Clean

# Work normally
# Edit files
git add .
git commit -m "feat: implement"
just check-all
git push -u origin HEAD

# Create PR
gh pr create --draft

Comparison

AspectMain RepoWorktree
LocationOriginal pathSeparate directory
TestsMay conflictFully isolated
FilesSharedIndependent
Git historySharedShared

After Complete

Don't manually delete!

Orchestrator handles cleanup after merge. Just return to main:

cd ../main-repo
git checkout main
git pull

Commands

# Create (usually orchestrator does this)
git worktree add ../worktree-42 -b feature-42

# List
git worktree list

# Remove (orchestrator does this)
git worktree remove ../worktree-42

Troubleshooting

"Branch already checked out" - Switch branch in other worktree first Changes not showing - Check pwd and git branch Tests failing - Verify with git pull

working-in-git-worktrees - AI Agent Skill for Claude Code & Cursor | Agent Skills