Git Worktree Manager: Install, Source and Security | FunnelSlayer

Git Worktree Manager

Published by d-o-hub in rust-self-learning-memory

Review recommended39 installs

What this skill does

Manage git worktrees for efficient multi-branch development. Use when creating worktrees for feature branches, organizing worktree directories, cleaning up unused worktrees, or implementing worktree-based workflows.

Add Git Worktree Manager to your agent

Review the source and files first. When you are ready, copy the prompt instruction or use the CLI command supported by your environment.

Install with a prompt

Paste this into a compatible coding agent:

add this skill "git-worktree-manager" from https://github.com/d-o-hub/rust-self-learning-memory

Install with the CLI

Run this command in a controlled environment after reviewing the repository:

npx skills add https://github.com/d-o-hub/rust-self-learning-memory --skill git-worktree-manager

Skill instructions

Git Worktree Manager

Manage git worktrees to enable parallel multi-branch development while keeping the main working directory clean.

Recommended Directory Structure

project/
├── main-repo/          # Main working directory
└── worktrees/          # All worktrees here
    ├── feature/name/
    ├── bugfix/name/
    └── experiment/name/

Core Commands

Create Worktree

# From existing branch
git worktree add ../worktrees/feature-name feature-branch

# Create new branch
git worktree add -b feature/new ../worktrees/new-feature

# Detached HEAD (specific commit)
git worktree add ../worktrees/temp HEAD~5

List Worktrees

git worktree list
git worktree list --porcelain  # Machine-readable

Remove Worktree

git worktree remove ../worktrees/name        # Safe (clean only)
git worktree remove --force ../worktrees/name  # Force removal
git worktree prune                           # Clean administrative data

Lock/Unlock

git worktree lock ../worktrees/name    # Prevent operations
git worktree unlock ../worktrees/name

Workflow Patterns

Feature Development

git worktree add -b feature/new ../worktrees/feature/new
cd ../worktrees/feature/new
# ... develop ...
cargo test  # Test in isolation
git push
cd /path/to/main && git merge feature/new
git worktree remove ../worktrees/feature/new

Parallel Testing

for branch in feature/a feature/b; do
  git worktree add ../worktrees/$branch $branch
  cd ../worktrees/$branch && cargo test &
done
wait

Code Review

git worktree add ../worktrees/review/pr-123 origin/pr-123
cd ../worktrees/review/pr-123
cargo test
git worktree remove ../worktrees/review/pr-123

Find Orphaned Worktrees

git worktree list | while read path commit branch; do
  if ! git show-ref --verify --quiet "refs/heads/${branch#*/}"; then
    echo "Orphaned: $path"
  fi
done

Best Practices

DO

  • Organize in ../worktrees/ directory
  • Use descriptive branch-based names
  • Clean up after merging
  • Test before merging to main
  • Prune regularly to remove orphaned data

DON'T

  • Create in random locations
  • Leave with uncommitted changes
  • Forget to prune administrative data
  • Create conflicting branches
  • Mix worktree/non-worktree workflows

Files included

  • SKILL.md

More skills