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.

来源信息

仓库
TheBushidoCollective/han
最近来源活动
2026年2月17日 17:03
检测到的 SKILL.md 语言
英语
星标
198
分支
22

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
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.
在 GitHub 查看