대상 워크트리
<scratchpad>/wt-demo-claude-1
브랜치 wt/claude/1
워크트리 경로를 받아 워크트리 제거, main 동기화, 브랜치 삭제를 수행합니다.
범용 형식:
/session:worktree-teardown <worktree-path> [--force] [--keep-branch] [--dry-run]worktree-spawn 예시가 만든 워크트리를 대상으로, 메인 저장소에서 --dry-run 1회와 실제 teardown 1회를 실행했다.
<scratchpad>/wt-demo-claude-1
브랜치 wt/claude/1
<scratchpad>/wt-demo — 메인 저장소
--dry-run — Step 0 게이트에서 정지, 파괴적 동작 없음:
[DRY-RUN] Plan:
Worktree: <scratchpad>/wt-demo-claude-1
Actions: preflight -> worktree remove -> sync main -> branch delete
No changes made.실제 실행 — Step 8 출력:
[OK] Teardown complete
Removed: <scratchpad>/wt-demo-claude-1
Branch: wt/claude/1 (deleted)
Now on: main (up to date with origin/main)| 단계 | 결과 |
|---|---|
| Step 1 | git-dir == git-common-dir → 메인 저장소, 통과 |
| Step 2 | BRANCH=wt/claude/1 — git worktree list --porcelain 에서 해석 |
| Step 3 | uncommitted: none / unpushed: none — 하나라도 있었다면 여기서 차단되고 정지 |
| Step 5 | Already on 'main' → Already up to date. |
| Step 6 | Deleted branch wt/claude/1 (was 513f9f1) |
| Step 7 | TEARDOWN 항목이 spawn 과 같은 로그 파일에 append |
git worktree list 에는 wt-demo 하나만 남았다 — spawn 이 만든 것이 정확히 되돌려졌다.
[OK] 리포트에는 Note: 블록이 무조건 붙는다. 바깥 셸의 cwd 는 탐지할 수 없어서, 제거된 워크트리 안에 있었다면 getcwd: cannot access parent directories 가 나기 때문이다.