Git의 3가지 분신술 — checkout, clone, worktree 시각 해부

대 AI 시대다. 나는 Claude Code를 활용해 여러 작업을 병렬로 진행하는 것이 점점 익숙해지고 있다. 터미널 탭 3개를 열어놓고, 각각 다른 feature를 동시에 구현한다. 이때 없어서는 안 될 도구가 git worktree다.

그런데 문득 궁금해졌다. checkout으로 브랜치를 바꾸는 것, clone으로 저장소를 복제하는 것, worktree로 작업 디렉토리를 추가하는 것 — 이 세 가지가 정확히 뭐가 다른 걸까? 디스크에는 뭐가 생기고, .git 안에서는 무슨 일이 일어나는 걸까?

글로 설명하면 길어지니까, 직접 보는 게 빠르다. 인터랙티브 시각화로 하나씩 해부해보자.


세 가지 방식은 디스크에 무엇을 남기는가

각 탭을 눌러 checkout, clone, worktree가 디스크에 어떤 구조를 만드는지 비교해보자.

같은 폴더에서 브랜치를 전환합니다. 파일이 교체됩니다.
현재 브랜치:
my-project/
📂.git
📂objects/
📂refs/
📄HEAD
📄index
📂src
📄index.ts
📄utils.ts
📄package.json
📄README.md
디스크 용량
1x (동일 폴더)
공유 범위
전부 공유 (단일 작업 디렉토리)
독립성
낮음 (한 번에 하나의 브랜치)

.git 해부: 안에서는 무슨 일이 일어나는가

조감도에서 worktree가 .git을 "공유"한다는 걸 봤다. 그런데 정확히 뭘 공유하고, 뭘 독립적으로 갖는 걸까? .git 폴더 안으로 들어가보자.

아래에서 각 항목을 클릭하면 역할과 실제 내용을 확인할 수 있다. 초록색은 모든 worktree가 공유하는 항목, 주황색은 각 worktree가 독립적으로 갖는 항목이다. 오른쪽 위의 "worktree 추가" 버튼을 눌러 worktree 추가 전후를 비교해보자.

.git/ 내부 구조
공유 (모든 worktree가 공유)
독립 (각 worktree가 별도 보유)
▼objects/공유
▶pack/공유
▼refs/공유
▶heads/공유
▶tags/공유
▼hooks/공유
─HEAD독립
─index독립
─config공유
▼logs/독립
항목을 클릭하면 설명을 볼 수 있습니다

명령어 가이드: 이것만 알면 된다

구조를 이해했으니 이제 실전이다. git worktree의 핵심 명령어 4개만 알면 바로 쓸 수 있다.

git worktree 명령어 가이드
git worktree add <path> [<branch>]
새 작업 디렉토리를 생성한다. 기존 브랜치를 체크아웃하거나, -b 옵션으로 새 브랜치를 만들면서 생성할 수 있다.
주요 옵션
-b <branch>새 브랜치를 생성하면서 worktree 추가
--detachdetached HEAD 상태로 생성 (브랜치 없이)
사용 예시
$git worktree add ../hotfix hotfix/payment
기존 hotfix/payment 브랜치를 ../hotfix 디렉토리에 체크아웃
$git worktree add -b feature/new-ui ../new-ui main
main에서 분기한 feature/new-ui 브랜치를 새로 만들면서 worktree 생성
주의: 이미 체크아웃된 브랜치로는 worktree를 만들 수 없다. 같은 브랜치를 두 곳에서 동시에 수정하면 충돌이 발생하기 때문이다.

worktree에 한번 맛들이면 stash로 돌아가기 어렵다. 브랜치 전환 없이 디렉토리만 이동하면 되는 그 편안함은, 써본 사람만 안다. git worktree add 한 줄이면 된다. 일단 써보자.

  • 세 가지 방식은 디스크에 무엇을 남기는가
  • .git 해부: 안에서는 무슨 일이 일어나는가
  • 명령어 가이드: 이것만 알면 된다
  • 세 가지 방식은 디스크에 무엇을 남기는가
  • .git 해부: 안에서는 무슨 일이 일어나는가
  • 명령어 가이드: 이것만 알면 된다

관련 포스트

이 포스트와 관련된 다른 글들을 확인해보세요

Git의 3가지 분신술 — checkout, clone, worktree 시각 해부

checkout, clone, worktree — Git의 3가지 작업 방식을 인터랙티브 시각화로 비교하고, .git 내부 구조까지 탐험합니다.

2026년 3월 14일•1분
gitgit-worktreevisualization+1

에이전트 팀 디자인 패턴

Pipeline, Fan-out, Expert Pool 등 6가지 멀티 에이전트 아키텍처 패턴을 인터랙티브 데모로 알아보자.

2026년 4월 1일•1분
ai-agentdesign-patternsmulti-agent+2

tmux 핵심 사용법 — 터미널 하나로 다 하는 법

세션, 윈도우, 팬 — tmux의 3가지 핵심 개념과 실무에서 바로 쓰는 키바인딩을 정리한다.

2026년 4월 4일•2분
tmuxterminaldeveloper-tools+2

Comments