Git Worktrees
stash 없이 여러 브랜치에서 동시에 작업 — 각각 자체 폴더에서.
Worktree는 일상 개발에서 가장 좌절한 문제 중 하나를 해결합니다: 무언가 작업 중인 브랜치를 전환해야 할 때. worktree를 사용하면 전환하지 않습니다 — 두 번째 폴더에서 다른 브랜치를 열고 동시에 둘 다 작업합니다.
Git Worktree란?
일반적으로 git 리포지토리에는 하나의 작업 디렉터리가 있습니다 — 파일이 있는 폴더입니다. 어느 순간에 정확히 하나의 브랜치가 해당 폴더에서 체크아웃됩니다. 다른 브랜치를 보고 싶다면 체크아웃해야 하며, 이는 파일을 해당 브랜치 버전으로 바꿉니다. 현재 작업을 커밋하지 않았다면 먼저 stash해야 하며, 이는 번거롭고 오류가 발생하기 쉽습니다.
worktree는 동일한 git 리포지토리에 연결된 두 번째(또는 세 번째, 네 번째) 작업 디렉터리입니다. 각 worktree에는 체크아웃된 자체 브랜치, 자체 파일 상태, 자체 기록이 있습니다. 모두 동일한 .git 폴더와 커밋 기록을 공유합니다 — 동일한 리포지토리에 대한 다른 창일 뿐입니다.
구체적인 예: AI Agent가 feature/payments에서 새 기능 구축을 절반쯤 진행 중입니다. 동료가 fix/login-bug에서 PR을 검토해 달라고 요청합니다. 기능 작업을 stash하는 대신 fix/login-bug에 대한 worktree를 별도의 폴더에 만듭니다. 기능 브랜치가 원래 폴더에서 그대로 있는 동안 거기에서 PR을 검토합니다.
Worktree 생성
- Git 패널을 엽니다 — Cmd+G를 누릅니다
- 패널 상단의 Worktrees 탭을 클릭합니다
- + Add Worktree를 클릭합니다
- 브랜치를 선택합니다 — 목록에서 기존 브랜치 또는 새 브랜치 이름을 입력하여 생성
- 새 worktree의 폴더 위치를 선택합니다 (기본적으로 1DevTool이 현재 프로젝트 폴더 옆에 폴더를 제안합니다)
- Create를 클릭합니다 — 1DevTool이
git worktree add를 실행하고 새 worktree 폴더를 활성 워크스페이스로 엽니다
새 worktree가 이제 Worktrees 탭에 메인 worktree와 함께 나열됩니다.

Worktree 터미널
1DevTool이 worktree를 생성하면 해당 worktree의 폴더 범위로 지정된 새 터미널도 엽니다. 브랜치 이름이 터미널 제목에 표시되므로 항상 어떤 브랜치에서 작업 중인지 알 수 있습니다.
해당 터미널의 AI Agent는 worktree 폴더에서 작동합니다 — 다른 브랜치에 대한 인식이나 간섭 없이 해당 브랜치에서 파일을 읽고 쓰고, 명령을 실행하고, 변경할 수 있습니다.


여러 worktree에서 동시에 Agent를 실행할 수 있습니다. 하나의 Agent가 결제 기능을 작업하는 동안 다른 하나가 다른 브랜치에서 버그를 수정합니다. 두 Agent 모두 자체 터미널, 자체 파일 컨텍스트, 자체 브랜치를 가지므로 서로 충돌할 수 없습니다.
Worktree 제거
worktree가 완료되면(PR이 병합되고, 브랜치가 삭제됨) 깔끔하게 제거할 수 있습니다:
- Git 패널을 열고 Worktrees 탭으로 이동합니다
- 제거할 worktree를 찾습니다
- 옆의 trash icon을 클릭합니다
- 삭제를 확인합니다
이것은 worktree 폴더를 제거하고 git에서 등록 해제합니다 (git worktree remove와 동일). 브랜치 자체는 삭제되지 않습니다 — 작업 디렉터리만 삭제됩니다. 나중에 필요하면 worktree를 다시 만들 수 있습니다.
팁: worktree를 사용하여 기능 브랜치에서 AI Agent를 실행하면서 main을 안정적으로 유지하세요. Agent가 실수로 main 브랜치를 깨뜨릴 수 없습니다.
Worktree는 git의 가장 과소평가된 기능 중 하나입니다. AI 지원 개발의 맥락에서 — Agent가 몇 분 만에 수십 개의 파일 변경을 할 수 있는 — 각 Agent의 작업을 자체 브랜치와 폴더로 격리할 수 있는 것은 중요한 안전망입니다.