Skip to main content

git-worktrees-worktree-management

Manage git worktrees - list active worktrees, prune stale ones, and merge work back into the main branch.

Informations de source

Dépôt
TheBushidoCollective/han
Dernière activité de la source
17 février 2026 à 17:03
Langue détectée de SKILL.md
anglais
Étoiles
198
Forks
24

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
git-worktrees-worktree-management
description
Manage git worktrees - list active worktrees, prune stale ones, and merge work back into the main branch.
allowed-tools
["Bash","Read","Glob","Grep"]
# Worktree Management ## Name git-worktrees:worktree-management - Manage git worktrees created by subagents ## Synopsis ``` /worktree-management [list|prune|merge] ``` ## Description Manages git worktrees that were created by subagents for isolation. Provides commands to list active worktrees, prune stale ones, and merge completed work back into the current branch. ## Implementation ### List Worktrees Show all active worktrees and their status: ```bash git worktree list ``` For worktrees in the `.worktrees/` directory, also show their commit status: ```bash for wt in .worktrees/*/; do if [ -d "$wt" ]; then echo "=== $(basename "$wt") ===" git -C "$wt" log --oneline -5 echo "" fi done ``` ### Prune Stale Worktrees Remove worktrees that are no longer needed: ```bash # Remove all worktrees in .worktrees/ git worktree list --porcelain | grep "^worktree " | grep ".worktrees/" | while read -r line; do wt_path="${line#worktree }" git worktree remove "$wt_path" done # Clean up any stale entries git worktree prune ``` ### Merge Work Back To merge a specific worktree's work into the current branch: 1. Identify the worktree and its commits 2. Cherry-pick or merge the commits into the main working tree 3. Remove the worktree after successful merge ```bash # From the main working tree: WORKTREE_NAME="agent-xxx" WORKTREE_BRANCH=$(git -C ".worktrees/${WORKTREE_NAME}" rev-parse HEAD) # Cherry-pick the commits git cherry-pick "${WORKTREE_BRANCH}" # Or create a merge git merge "${WORKTREE_BRANCH}" --no-ff -m "merge: integrate work from ${WORKTREE_NAME}" # Clean up git worktree remove ".worktrees/${WORKTREE_NAME}" ``` ## Example Interaction **User:** List my active worktrees **Agent:** ``` $ git worktree list /path/to/repo abc1234 [main] /path/to/repo/.worktrees/agent-1707123456-12345 def5678 (detached HEAD) /path/to/repo/.worktrees/agent-1707123789-67890 ghi9012 (detached HEAD) === agent-1707123456-12345 === def5678 feat: implement user authentication abc1234 Initial commit === agent-1707123789-67890 === ghi9012 fix: resolve database connection issue abc1234 Initial commit ``` **User:** Merge the auth worktree and clean up **Agent:** Cherry-picks the auth commit, removes the worktree, and prunes stale entries.
Voir sur GitHub