동작하는 코드
claude -w 명령어로 격리된 worktree에서 작업해봅시다:
cd my-project
claude -w
Claude Code가 별도의 git worktree를 자동으로 생성하고 그 안에서 작업합니다. 메인 작업 디렉토리의 코드는 전혀 영향을 받지 않습니다.
> 이 프로젝트의 인증 시스템을 JWT에서 세션 기반으로 바꿔봐.
> 실험적으로 해보는 거니까 과감하게 변경해도 돼.
실험이 끝나면:
- 마음에 들면 변경 사항을 메인 브랜치로 머지합니다.
- 마음에 안 들면 worktree를 삭제하면 됩니다. 메인 코드는 깨끗합니다.
직접 수정하기
여러 터미널에서 동시에 worktree를 활용해봅시다:
터미널 1 — 메인 작업:
cd my-project
claude
> 사용자 목록 API를 구현해줘
터미널 2 — 격리된 실험:
cd my-project
claude -w
> DB 스키마를 완전히 재설계해봐. 정규화를 풀어서 읽기 성능을 최적화해줘.
터미널 1의 작업은 안전하게 진행되고, 터미널 2의 과감한 실험은 격리된 환경에서 이루어집니다.
"왜?" — 실험에는 안전망이 필요하다
개발에서 가장 위험한 순간은 "이거 한번 해볼까?" 하는 때입니다. 큰 리팩토링, 아키텍처 변경, 새로운 라이브러리 시도 — 메인 코드에서 직접 하면 되돌리기 어렵습니다.
Worktree의 장점
| 방식 | 문제점 | Worktree | | ------------------ | -------------------- | -------------------------- | | 메인에서 직접 실험 | 코드 오염 위험 | 격리된 복사본에서 작업 | | git stash | 작업 전환이 번거로움 | 동시에 여러 작업 가능 | | 새 브랜치 | 파일 시스템은 공유 | 물리적으로 분리된 디렉토리 |
Teleport: 로컬과 웹을 넘나들기
Teleport는 터미널의 Claude Code 세션을 웹(claude.ai/code)으로 전송하거나, 반대로 웹 세션을 로컬로 가져오는 기능입니다:
> /teleport
로컬 세션의 컨텍스트가 웹으로 전송됩니다. 데스크톱을 떠나서 브라우저에서 이어 작업할 수 있습니다.
반대 방향:
claude --teleport
웹에서 작업하던 세션을 로컬 터미널로 가져옵니다.
활용 시나리오:
- 회사 컴퓨터(터미널)에서 시작한 작업을 집(웹 브라우저)에서 이어하기
- 모바일에서 웹으로 간단히 확인한 뒤 데스크톱에서 본격 작업
병렬 개발 패턴
터미널 1: claude → 메인 기능 구현 (안정적)
터미널 2: claude -w → 실험적 리팩토링 (격리)
터미널 3: claude -w → 성능 최적화 시도 (격리)
각 worktree는 독립적인 git 상태를 가지므로 충돌 없이 동시 작업이 가능합니다.
심화 학습
worktree는 git branch와 뭐가 다른가요?
git branch는 논리적 분기이고, worktree는 물리적 분기입니다.
- branch: 같은 디렉토리에서 브랜치를 전환하면 파일이 바뀝니다. 한 번에 하나의 브랜치만 활성.
- worktree: 별도의 디렉토리에 브랜치를 체크아웃합니다. 여러 브랜치를 동시에 활성 상태로 유지.
claude -w는 이 git worktree를 자동으로 생성하고 관리해줍니다.
claude -w로 격리된 환경에서 과감한 리팩토링을 시도해보세요. 메인 코드가 영향을 받지 않는지 확인하세요.- 두 터미널에서 하나는
claude, 하나는claude -w로 동시에 작업해보세요. /teleport로 세션을 웹으로 전환해보세요 (claude.ai/code 접속 필요).
Q1. claude -w 명령어의 역할은?
- A) 웹 브라우저에서 Claude Code를 실행한다
- B) 격리된 git worktree에서 Claude Code를 실행한다
- C) Windows 모드로 실행한다
- D) 읽기 전용 모드로 실행한다