Claude Code
Part 3 · 프로젝트 완성하기Chapter 9 · Claude Code Desktop

한 폴더, 한 브랜치 | 병렬 세션과 Git Worktree

worktree 체크박스로 세션마다 독립 작업 폴더를 만들어, Desktop 세션 두 개로 서로 다른 작업을 동시에 진행합니다

마지막 업데이트: 2026. 8. 9.

Overview

두 세션이 같은 프로젝트 폴더를 열면 터미널을 따로 써도 같은 파일을 봅니다. 한 세션에서 브랜치를 바꾸면 다른 세션이 보고 있는 파일도 함께 바뀝니다. 두 세션이 각자 다른 브랜치에서 작업하려면 폴더도 두 개여야 합니다.

이 레슨에서는 Worktree로 작업 폴더를 분리해 서로 다른 작업을 동시에 진행하고, 각 작업을 PR로 만듭니다.

학습 목표

  • 같은 폴더를 사용하는 두 세션이 서로 다른 브랜치에서 동시에 작업할 수 없는 이유를 설명할 수 있습니다.
  • Desktop에서 Worktree 세션 두 개를 시작해 서로 다른 작업을 동시에 진행하고, 각각 PR로 만들 수 있습니다.

같은 폴더의 두 세션은 같은 브랜치를 봅니다

같은 프로젝트에서 여러 세션으로 작업할 때는 세션마다 브랜치를 나누면 된다고 생각하기 쉽습니다. 하지만 두 세션이 같은 폴더를 열고 있으면 브랜치도 독립적으로 유지되지 않습니다.

브랜치는 여러 개 만들 수 있지만, 한 폴더에서 체크아웃한 브랜치는 하나뿐입니다. 세션 A와 B가 같은 폴더를 열고 있을 때 세션 B가 브랜치를 바꾸면, 세션 A도 바뀐 브랜치의 파일을 봅니다.

전환 전

세션 A
세션 B

같은 프로젝트 폴더

feature-a

세션 B: git switch feature-b

전환 후

세션 A
세션 B

같은 프로젝트 폴더

feature-b

브랜치 전환은 세션이 아니라 작업 폴더 전체에 적용됩니다

같은 폴더에서 두 세션을 실행할 수는 있지만, 서로 다른 브랜치에서 독립적으로 작업할 수는 없습니다. 각 세션에서 다른 브랜치를 유지하려면 작업 폴더도 나눠야 합니다.

브랜치는 이력을, Worktree는 폴더를 나눕니다

브랜치는 커밋 이력을 나누지만 작업 폴더까지 만들지는 않습니다. git worktree는 같은 저장소에 작업 폴더를 추가해 브랜치마다 별도의 체크아웃 상태를 유지합니다.

git checkout한 번에 한 브랜치만Working directory● main꺼내지 않은 브랜치 (파일은 보이지 않음)feature-afeature-b전환 시 디렉토리 내용이 교체됩니다git worktree여러 브랜치를 동시에.git (공유)/branchmainworktrees/feature-a/branchfeature-aworktrees/feature-b/branchfeature-b세 디렉토리가 나란히 존재 · 파일 상태가 각자 독립
checkout 은 한 번에 하나, worktree 는 여러 브랜치를 각각 별도 디렉토리에 동시에

원본 폴더에서는 main, 추가한 폴더에서는 feature-afeature-b를 동시에 열 수 있습니다. 각 폴더의 파일은 독립적이지만 커밋 이력과 원격 설정은 공유합니다.

Desktop의 Worktree 체크박스가 이 작업 폴더를 자동으로 만듭니다.

Desktop에서 Worktree 세션 시작하기

새 세션 화면에서 브랜치 옆의 Worktree 체크박스를 켭니다.

Claude Desktop 새 세션 입력창 위의 Worktree 체크박스

Worktree 옵션을 켜고 첫 요청을 보내면, Desktop은 요청을 실행하기 전에 프로젝트 루트의 .claude/worktrees/ 아래에 세션 전용 Worktree를 준비합니다. 위치는 Settings → Claude Code → Worktree location에서 변경할 수 있습니다.

Desktop이 이 폴더를 Git의 제외 목록에 자동으로 등록하므로 .gitignore를 미리 수정하지 않아도 됩니다.

같은 프로젝트에서 Worktree 세션을 하나 더 시작하면 두 세션이 각자의 폴더에서 동시에 작업합니다. 사이드바에서 두 세션을 오가며 진행 상황을 확인할 수 있습니다.

이렇게 나눈 두 작업은 각각 PR로 만들어 main에 합칩니다.

Worktree 작업을 PR로 합치기

Part 2에서는 main에 직접 push했기 때문에 변경이 곧바로 원격 main에 반영됐습니다. Worktree는 작업마다 별도 브랜치를 사용하므로, 변경을 main에 합치는 단계가 따로 필요합니다.

Pull Request(PR)는 작업 브랜치의 변경을 main 같은 대상 브랜치에 합쳐 달라고 요청하는 기능입니다. PR을 열면 바뀐 파일과 줄이 diff로 정리되고, 자동 검사 결과와 충돌 여부를 확인할 수 있습니다. PR을 만드는 것만으로 main은 바뀌지 않으며, 검토 후 Merge(병합)해야 반영됩니다.

main에 직접 pushPR 검토 없이 바로 반영로컬 mainpush원격 mainpush하면 원격 main이 바뀝니다PR 검토 단계를 거치지 않습니다작업 브랜치 + PR검토한 뒤 main에 반영작업 브랜치pushPR 열림diff사람 검토자동 검사MergemainPR을 연 동안 main은 바뀌지 않습니다검토 후 Merge하면 main에 반영됩니다
Worktree 작업은 별도 브랜치에 push하고, PR에서 검토한 뒤 main에 합칩니다

Worktree 작업에 PR이 필수는 아니지만, 이 레슨에서는 PR로 마무리하는 방식을 권장합니다. 작업을 커밋하고 원격 브랜치에 push한 뒤 PR을 만들면, Worktree를 정리하기 전에 변경을 GitHub에 남기고 검토할 수 있습니다.

Worktree마다 PR을 하나씩 만들면 두 작업의 diff와 검사 결과를 따로 확인하고, 사람이 병합할 순서를 정할 수 있습니다. 하나를 병합한 뒤에는 남은 PR의 충돌과 검사 상태를 다시 확인합니다.

[미션] 세션 두 개로 PR 두 개 동시에 만들기

본인 Todo 저장소에서 서로 다른 작업 두 개를 Worktree 세션으로 동시에 진행하고, 각각 PR로 병합합니다.

Step 1: Worktree 세션 두 개 시작하기

Code 탭에서 Todo 저장소를 선택하고 Worktree 옵션을 켠 뒤 첫 번째 세션에 요청합니다.

README.md에 프로젝트 소개와 실행 방법을 추가해줘. 작업을 검증한 뒤 커밋하고 PR을 만들어줘.

첫 번째 작업이 끝나기를 기다리지 않고 사이드바에서 새 세션을 만듭니다. 같은 Todo 저장소를 선택하고 Worktree 옵션을 다시 켠 뒤 두 번째 작업을 요청합니다.

메인 화면의 제목 문구를 더 친근한 톤으로 다듬어줘. 작업을 검증한 뒤 커밋하고 PR을 만들어줘.

Step 2: 두 PR 확인하기

사이드바에서 두 세션을 오가며 진행 상황을 확인합니다. 작업이 끝나면 각 세션의 입력창 위에 PR 번호와 작업 브랜치가 표시됩니다.

PR 번호를 눌러 GitHub에서 PR을 엽니다. Files changed에서 요청한 파일만 바뀌었는지 확인하고, 두 번째 PR도 같은 방식으로 검토합니다.

Step 3: PR을 하나씩 병합하기

첫 번째 PR에서 Merge pull requestConfirm merge를 차례로 누릅니다. 병합이 끝나면 남은 PR을 다시 열어 충돌이 없는지 확인하고 같은 방법으로 병합합니다.

두 PR을 모두 병합한 뒤 원격 main에 README와 제목 문구 변경이 반영됐는지 확인합니다.

Step 4: 세션 정리하기

두 PR의 병합이 끝나고 미커밋 변경이 없다면 사이드바에서 각 세션에 마우스를 올리고 archive 아이콘을 누릅니다. 세션이 보관되고 연결된 Worktree도 정리됩니다.

핵심 포인트 정리

  1. 한 폴더 = 한 브랜치: 같은 폴더를 여는 모든 세션은 같은 브랜치의 파일을 봅니다.
  2. 세션마다 Worktree: Worktree 옵션을 켜면 세션마다 별도 폴더와 브랜치에서 작업할 수 있습니다.
  3. 작업마다 PR: 각 Worktree의 변경을 별도 PR로 검토하고 하나씩 main에 병합합니다.

FAQ

이어서 배울 내용

Worktree로 내 컴퓨터에서 여러 세션을 분리하고, 각 작업을 PR로 합치는 흐름을 익혔습니다. 다음 Cloud 세션 레슨에서는 GitHub 저장소로 Cloud 세션을 시작합니다. 컴퓨터를 닫아도 작업은 계속되며 웹과 모바일에서 진행 상황을 확인할 수 있습니다.

On this page