用途:为功能开发创建隔离的 git worktree,路径为 .claude/worktrees/<repo>-<name>/,分支为 worktree-<name>,与 Claude Code 原生 worktree 约定一致,无需切换当前分支。
主要能力:由确定性 Python 脚本负责命名、基准引用选择与 .worktreeinclude 复制步骤。脚本会从 origin URL 推导 <repo>(回退到顶层目录名),构建无双重前缀的路径;从基准引用(默认 origin/HEAD,否则 HEAD,可用 --from <base> 覆盖)创建分支;确保 .claude/worktrees/ 在 .gitignore 中(缺失则追加并报告);把每个匹配 .worktreeinclude 且被 gitignore 的文件复制进 worktree(普通 git worktree add 会跳过此步),若复制了 .envrc 则运行 direnv allow;最后打印路径、分支、已复制文件、检测到的项目类型及应遵循的 references/setup-<lang>.md。
使用方式:在仓库内任意位置运行 uv run "${CLAUDE_SKILL_DIR}/scripts/git_worktree.py" <name> [--from <base>]。随后按脚本提示的项目类型阅读对应参考:Python/uv 见 references/setup-python.md,Node.js 见 references/setup-node.md,Rust 见 references/setup-rust.md,Go 见 references/setup-go.md,未知栈见 references/setup-generic.md;各参考涵盖隔离依赖安装与写入 .worktree-logs/ 的后台验证。可选后续:数据库分支见 references/database-branching.md;缺少环境文件可向 .worktreeinclude 添加模式后重跑,或运行 worktree-doctor 技能生成起始 .worktreeinclude。示例:/git-worktree auth、/git-worktree fix/session-bug、/git-worktree refactor/db-layer --from main。
无人值守运行:需清除两个独立交互门。工作区信任——claude -p --worktree <name> "<task>" 会完全跳过信任检查;交互式下在仓库根接受一次信任(按目录保存),后续 --worktree 调用复用。权限提示——启动时设置更宽松模式,例如在新 worktree 内运行 claude -p --permission-mode acceptEdits "<task>";仅在隔离容器/VM 中使用 bypassPermissions。由于 .claude/worktrees 不受保护路径限制,默认模式下创建与复制可正常进行,但 .envrc 复制属受保护文件(仅在 auto/bypassPermissions 下静默)。
限制与注意:需 Git 2.5.0+ 与 uv。切勿 cat、打印或记录 .env / .envrc,它们含密钥;脚本按字节复制,并在拒绝复制受保护 .envrc 时报告。常见错误:期望 .worktreeinclude 在手动 git worktree add 下生效(不会,故由本技能脚本复制);读取 .env / .envrc;在不需要隔离时安装完整依赖(语言参考会说明何时适合复用,如 node_modules 符号链接)。