用途:批量清理陈旧的 git worktree,适合 .claude/worktrees/ 下积累了大量功能工作树时使用。属于 Worktree Lifecycle Suite(/git-worktree、/git-worktree-status、/git-worktree-remove)。
主要能力:脚本列出所有 worktree,将每个分类为 merged(已合并)、unmerged(未合并)或 protected(受保护),删除安全项并报告回收的磁盘空间。磁盘统计与语言无关,会跳过符号链接(如共享的 node_modules)和 .git,不含特定技术栈的排除规则。
使用方式:先预览,再执行。 uv run "${CLAUDE_SKILL_DIR}/scripts/git_worktree_clean.py" --dry-run uv run "${CLAUDE_SKILL_DIR}/scripts/git_worktree_clean.py" [--all] [--force] 命令形式:/git-worktree-clean --dry-run、/git-worktree-clean、/git-worktree-clean --all。
脚本行为:跳过主 worktree 及位于受保护分支(main、master、develop、staging、production)上的 worktree;删除分支已合并进主分支的 worktree,并用 git branch -d 删除本地分支;未合并的 worktree 默认保留,除非给出 --all(此时用 git branch -D);用 git worktree prune 清理陈旧引用。
标志:--dry-run 预览将清理的内容且不做更改;--all 同时移除未合并的 worktree(强制删除其分支);--force 移除 worktree 时跳过 git 的脏状态保护。
限制与注意:worktree 移除不会删除关联的数据库分支;若使用了可分支数据库,需按 ../git-worktree/references/database-branching.md 中对应清理命令处理。常见错误包括未先 --dry-run 就运行 --force,以及忘记清理数据库分支(worktree 已删,DB 分支仍保留直到手动删除)。