Skip to main content
낭고넷

Git Worktree로 Claude Code 병렬 개발하기

• 6분
여러 작업 트리가 나란히 열린 개발 책상 일러스트

Claude Code를 사용하다 보면 이런 상황을 맞닥뜨린다. 메인 기능 개발 중인데 갑자기 긴급 버그가 생겨서 핫픽스를 해야 하는 상황. 브랜치를 전환하면 Claude Code의 컨텍스트가 날아가고, 다시 돌아와서 작업 흐름을 복구하는 데 시간이 오래 걸린다.

Git worktree를 쓰면 같은 저장소의 여러 브랜치를 각각 다른 디렉토리에 동시에 체크아웃할 수 있다. 디렉토리마다 Claude Code 세션을 따로 띄우면 병렬로 작업할 수 있다.

왜 Git Worktree가 필요한가?

브랜치를 오갈 때마다 git stash → git checkout → git stash pop을 반복하는 것도 번거롭지만, Claude Code를 쓰면서 더 아쉬운 건 컨텍스트였다. 브랜치를 바꾸면 세션이 알고 있던 작업 상황이 어긋나고, 돌아와서 다시 설명하고 흐름을 잡는 데 시간이 든다. worktree로 브랜치마다 디렉토리를 나눠 두면 세션도 각자 자기 작업만 보고 있으니 이런 전환 비용이 줄어든다.

기본 사용법

새로운 worktree 생성

# 새 브랜치와 함께 worktree 생성
git worktree add ../project-hotfix -b hotfix/urgent-bug main

# 기존 브랜치로 worktree 생성
git worktree add ../project-feature feature/new-ui

worktree 목록 확인

git worktree list

worktree 제거

# 작업 완료 후 정리
git worktree remove ../project-hotfix

Claude Code와 함께 사용하기

실제 워크플로우는 이렇다:

  1. 메인 작업 디렉토리에서 Claude Code로 새 기능 개발 중
  2. 긴급 버그 발견 → 새 worktree 생성
  3. 별도 터미널에서 핫픽스 디렉토리로 이동해 Claude Code 실행
  4. 두 개의 Claude Code 세션이 각각 독립적으로 작업
# 현재 디렉토리: /Users/dev/my-project (메인 기능 개발)
# Claude Code 세션 1에서 작업 중...

# 새 터미널에서
git worktree add ../my-project-hotfix -b hotfix/login-error main
cd ../my-project-hotfix
claude  # 새로운 Claude Code 세션 시작

이렇게 하면 각 세션이 독립적인 컨텍스트를 유지하면서 병렬 개발이 가능하다.

실용적인 예시

상황: 리액트 프로젝트에서 UI 개발 중 API 버그 발견

# 1. 현재 상황: feature/dashboard 브랜치에서 작업 중
pwd  # /Users/dev/my-react-app
git branch  # * feature/dashboard

# 2. 핫픽스용 worktree 생성
git worktree add ../my-react-app-hotfix -b hotfix/api-fix main

# 3. 핫픽스 디렉토리로 이동해서 Claude Code 실행
cd ../my-react-app-hotfix
claude

# 4. 핫픽스 완료 후 정리
git worktree remove ../my-react-app-hotfix

팀 리뷰 시나리오

# PR 리뷰를 위한 임시 worktree 생성
git worktree add ../review-pr-123 origin/feature/colleague-feature

# 리뷰 완료 후 정리
git worktree remove ../review-pr-123

주의사항

1. 같은 브랜치 중복 체크아웃 불가

# 이미 main 브랜치가 체크아웃된 상태에서
git worktree add ../another-main main
# fatal: 'main' is already checked out

2. 디스크 공간 사용량

각 worktree마다 작업 파일들이 복사되므로 용량을 차지한다. 다만 .git 디렉토리는 공유하므로 완전히 새로 클론하는 것보다는 효율적이다.

3. 너무 많은 worktree 생성 금지

5개 이상의 worktree를 동시에 관리하면 오히려 복잡해진다. 작업이 끝나면 바로 git worktree remove로 정리하는 편이 낫다.

개인적인 경험

worktree는 예전부터 있던 기능인데, Claude Code를 쓰면서 처음 제대로 쓰게 됐다. 여러 작업을 동시에 진행할 때 특히 유용했다. 브랜치마다 세션의 컨텍스트가 그대로 남아 있으니 오가는 부담이 확실히 줄었다.

다만 늘 필요한 건 아니다. 브랜치 하나로 차례차례 작업할 때는 그냥 브랜치를 바꾸는 쪽이 더 단순하다. AI 세션 여러 개를 동시에 돌릴 때 쓸모가 커진다.

덕분에 요즘은 Claude Code 세션을 두세 개 띄워놓고 작업하는 게 자연스러운 일과가 됐다. 한동안은 이 조합으로 계속 일하게 될 것 같다.


낭고넷

love to write and code

© 2026 낭고넷. All rights reserved.