
Using Git Worktrees
This automates the setup of isolated git worktrees so you can work on a new feature without touching your current branch. It checks if you're already in an isolated workspace, looks for native worktree tools in your environment first, then falls back to manual git worktree commands if needed. The detection logic is careful about submodules and existing worktrees to avoid nesting issues. It handles directory placement based on project conventions, validates that worktree folders are gitignored, runs your project's setup commands (npm install, cargo build, etc.), and verifies tests pass before you start coding. Designed to be called by skills like brainstorming or executing-plans whenever they need clean isolation. The emphasis on native tools first is smart since fighting your harness creates phantom state.
- skills.sh installs
- 987
- GitHub stars
- 8.5K
- last updated
- Aug 21, 2026
Install
$ npx -y skills add jnmetacode/superpowers-zh --skill using-git-worktrees --agent claude-codeInstalls into .claude/skills of the current project.
Files
使用 Git 工作树
概述
确保工作发生在隔离的工作区中。优先使用你的平台的原生 worktree 工具。仅在没有原生工具可用时,再回退到手动 git worktree。
核心原则: 先检测现有隔离。然后用原生工具。再回退到 git。绝不与 harness 对抗。
开始时宣布: "我正在使用 using-git-worktrees 技能来建立一个隔离的工作区。"
步骤 0:检测现有隔离
创建任何东西之前,先检查你是否已经在一个隔离的工作区里。
GIT_DIR=$(cd "$(git rev-parse --git-dir)" 2>/dev/null && pwd -P)
GIT_COMMON=$(cd "$(git rev-parse --git-common-dir)" 2>/dev/null && pwd -P)
BRANCH=$(git branch --show-current)
Submodule 守卫: 在 git submodule 内 GIT_DIR != GIT_COMMON 也为真。在判定"已经在 worktree 内"之前,先确认你不在 submodule 里:
# 如果这条命令返回路径,说明你在 submodule 里,不是 worktree —— 按普通仓库处理
git rev-parse --show-superproject-working-tree 2>/dev/null
如果 GIT_DIR != GIT_COMMON(且不是 submodule): 你已经在一个 linked worktree 内。跳到步骤 2(项目设置)。不要再创建一个 worktree。
按分支状态报告:
- 在某个分支上:"已经在隔离工作区
<path>,分支<name>。" - 分离 HEAD:"已经在隔离工作区
<path>(分离 HEAD,由外部管理)。完成时需要创建分支。"
如果 GIT_DIR == GIT_COMMON(或在 submodule 内): 你在一个普通的仓库检出里。
用户是否已经在你的 instructions 里表明过 worktree 偏好?如果没有,创建 worktree 之前先征求同意:
"你希望我搭一个隔离的 worktree 吗?它能保护你当前分支不被改动。"
如果用户已声明过偏好,直接遵循,不再询问。如果用户拒绝同意,原地工作并跳到步骤 2。
步骤 1:创建隔离工作区
你有两种机制。按这个顺序尝试。
1a. 原生 Worktree 工具(首选)
Sponsors
Details
- Repository
- github.com/jnmetacode/superpowers-zh
- Category
- Git & Pull Requests
- First seen
- Jun 3, 2026
More from jnmetacode/superpowers-zh
All 20- Chinese Git Workflow979
- Dispatching Parallel Agents970
- Writing Skills967
- Mcp Builder963
- Workflow Runner952
- Using Superpowers1.2K
- Chinese Documentation1.2K
- Brainstorming1.2K
- Systematic Debugging1.2K
- Receiving Code Review1.1K
- Verification Before Completion1.1K
- Writing Plans1.1K
- Test Driven Development1.1K
- Chinese Code Review1.1K
- Chinese Commit Conventions1K
- Subagent Driven Development1K
- Executing Plans1K
- Requesting Code Review1K
- Finishing A Development Branch993