Using Git Worktrees
SkillAI & modelsUse Git worktrees to create parallel working directories safely; avoid branch-switch contamination.
Then ask your AI: use the Using Git Worktrees skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; Ahel provides instructions and does not run this skill.
No other account needed.
Add it as a step in a pipeline you build on Ahel, or connect Ahel to Claude, ChatGPT, Cursor, Claude Code or Codex and ask your AI to use it.
What this skill tells your AI
The instructions your AI receives, as published by kbwen/agent-virtual-office in .agents/skills/using-git-worktrees/SKILL.md and read by Ahel’s review.
Overview
Git worktree allows mounting multiple working directories onto the same repository simultaneously, each mapped to a different branch. This is ideal for parallel development and hotfixes.
Workspace Selection Principles
- Manage them centrally outside the repo or in a dedicated folder (e.g.,
../wt-<task>). - Name them with task semantics (feature/hotfix + short name).
- Avoid confusing or overwriting existing workspaces.
Safety Checks
- Detect nesting first — do not create a worktree from inside another worktree or a submodule:
- You are already in a linked worktree if
git rev-parse --git-dirdiffers fromgit rev-parse --git-common-dir(they match in the main worktree).cdto the main worktree before adding. - You are in a submodule if
git rev-parse --show-superproject-working-treeis non-empty. Operate on the intended repo, not the submodule.
- You are already in a linked worktree if
- Ensure the primary workspace is clean (prevent taking uncommitted changes).
- List existing worktrees first:
git worktree list. - Check that the target directory does not exist or is empty.
- Keep the worktree path out of the tracked tree — prefer a sibling dir (
../wt-<task>). If it must live inside the repo, verify it is ignored first:git check-ignore -q <path>(exit 0 = ignored). A non-ignored in-repo worktree pollutes the parent'sgit statusand can be committed by accident. - Confirm branch naming and tracking strategies.
Setup Workflow
- Create a branch and add a worktree:
git worktree add ../wt-<task> -b <branch-name>
- Switch to the new directory and run a baseline test.
- Develop, commit, and verify independently in that directory.
- Remove the worktree when finished (if no longer needed):
git worktree remove ../wt-<task>
Common Mistakes
- Committing in the wrong worktree.
- Deleting a worktree without confirming if the branch should be preserved.
- Chaotic directory naming, leading to unclear task mapping.
Signals
- GitHub stars
- 39
- Forks
- 18
- Last commit
- Oct 2026
Others that do the same job
Advanced
- Item type
- skill
- Key
using-git-worktrees-kbwen- Source
- github.com/kbwen/agent-virtual-office
github.com/kbwen/agent-virtual-office