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
آخر نشاط في المصدر
١٧ فبراير ٢٠٢٦ في ١٧:٠٣
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
١٩٨
التفرعات
٢٢

خيارات التثبيت

يُحدَّد 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