wtt - Work Tree Tool
Overview
CLI tool for managing git worktrees using bare clones.
Installation
From a repository checkout:
Paths
| Type | Location |
|---|---|
| Bare clones | ~/.wtt/bare/<repo>.git |
| Worktrees | ~/devel/<repo>/<branch>/ |
Branch names containing / become subdirectories (e.g., feature/login → ~/devel/myrepo/feature/login/).
Commands
setup
Create bare clone and prepare worktree directory.
<REPO>- Local name for the repository<URL>- Git remote URL to clone- Clones bare repo to
~/.wtt/bare/<repo>.git - Creates empty
~/devel/<repo>/directory
add
Create a worktree.
<BRANCH>- Branch name for the new worktree--base <BASE>- Base ref for new branches (default: remote default branch)--repo <REPO>- Repository name (default: auto-detected from current directory)- Auto-detects existing vs new branch:
- If branch exists (local/remote): checkout
- If branch doesn't exist: create from base
list
List worktrees.
--repo <REPO>- Repository name (default: auto-detected, or list all if outside worktree)
remove
Remove a worktree.
<BRANCH>- Branch name of the worktree to remove--repo <REPO>- Repository name (default: auto-detected from current directory)- Deletes worktree directory only, does not delete the branch