Skip to content

feat(worktrees): add Git Worktrees support #27

Description

@CalvinAllen

Description

Add support for Git worktrees, allowing users to work with multiple branches simultaneously in separate working directories without needing to switch branches.

Features

Worktrees Tool Window

  • List all worktrees for the repository
  • Display for each worktree:
    • Path location
    • Branch name
    • HEAD commit
    • Status (clean/dirty)
  • Current worktree indicator

Worktree Actions

  • Create new worktree
    • From existing branch
    • From new branch
    • From commit/tag
  • Open worktree in new Visual Studio window
  • Delete worktree (with confirmation)
  • Lock/unlock worktree
  • Prune stale worktrees
  • Copy working changes to worktree

Create Worktree Dialog

  • Branch selection (existing or new)
  • Path location picker
  • Auto-generate path option
  • Create from detached HEAD option

Integration Points

  • Context menu in Branches view (Create Worktree)
  • Quick switch between worktrees
  • Status bar worktree indicator
  • Solution/project awareness per worktree

Configuration Options

  • Default worktree location pattern
  • Auto-open in new window toggle
  • Confirm before delete
  • Show worktree path in views

Related Issues

Note: This tool window provides a rich visual interface for worktree management. The same operations are also available via the Git Command Palette (#34) for users who prefer keyboard-driven workflows.

Acceptance Criteria

  • Worktrees tool window displays all worktrees
  • Create worktree works from branch/commit
  • Open in new window launches correctly
  • Delete removes worktree properly
  • Status accurately reflects worktree state
  • Integration with other views works

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requestphase-4Phase 4: Advanced Featurespriority: lowLow priority item

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions