sitelink1  
sitelink2  
sitelink3  
 branch는 작업의 '이력(버전)'을 나타내고, worktree는 그 작업을 진행하는 '실제 폴더(공간)'를 나타냅니다.
 
기존에는 여러 브랜치를 동시에 작업하려면 git checkout으로 브랜치를 교체하거나, 프로젝트 전체를 별도 폴더에 clone해야 했습니다. worktree를 사용하면 하나의 Git 저장소 안에서 여러 브랜치를 각기 다른 폴더에 동시 펼쳐놓고 작업할 수 있습니다.
 

핵심 차이점 비교

구분 Git Branch (브랜치) Git Worktree (워크트리)
개념 특정 커밋을 가리키는 포인터 (참조) 브랜치 파일들이 실제 배치되는 디렉토리 (작업 공간)
존재 위치 .git 내부의 메타데이터 실제 파일 시스템 상의 물리적 폴더
동시 작업 한 번에 하나의 브랜치만 체크아웃 가능 여러 브랜치를 각기 다른 폴더에 동시 체크아웃 가능
저장소 공유 해당 브랜치 고유의 커밋 이력 보유 .git 저장소(커밋 이력, 설정 등)를 모두 공유
비유 책의 특정 페이지를 표시하는 책갈피 책을 펼쳐서 읽고 작성하는 책상 위의 공간

언제 Worktree를 사용하면 좋을까?

  • 기능 개발 중 급한 버그 수정(Hotfix)이 들어왔을 때:
     
    진행 중인 작업을 git stash로 임시 저장하고 브랜치를 바꿀 필요 없이, 별도 워크트리 폴더를 열어 바로 버그를 수정하고 커밋할 수 있습니다.
  • 두 브랜치의 코드를 동시에 실행하거나 비교할 때:
     
    브랜치를 오가며 빌드/테스트할 필요 없이, 두 폴더에 각각 다른 브랜치를 띄워놓고 서로 비교할 수 있습니다.
  • 무거운 빌드 과정을 거치는 프로젝트:
     
    브랜치를 바꿀 때마다 빌드 아티팩트나 node_modules 등의 파일이 재구성되는 시간을 절약할 수 있습니다.

주요 Worktree 명령어

Bash
# 1. 새로운 워크트리 생성 (새 폴더에 특정 브랜치 연결)
# git worktree add <폴더경로> <브랜치명>
git worktree add ../my-hotfix feature/hotfix-login

# 2. 새로운 브랜치를 생성하면서 워크트리 생성
git worktree add -b feature/new-idea ../new-idea-dir

# 3. 현재 연결된 워크트리 목록 확인
git worktree list

# 4. 작업이 끝난 워크트리 삭제
git worktree remove ../my-hotfix
합니다. (충돌 방지를 위해 하나의 브랜치는 하나의 워크트리에서만 열 수 있습니다.)동일한 브랜치를 여러 워크트리에 동시에 체크아웃하는 것은 불가능 Git 규칙상 주의사항:
  
번호 제목 글쓴이 날짜 조회 수
» [Gemini] branch 와 worktree 의 차이점 황제낙엽 2026.09.27 7
78 버전 관리 이슈 케이스 (1) : 장기적으로 pull 하지 않은 개발자의 대량의 merge 이슈 발생 file 황제낙엽 2026.05.13 477
77 sourcetree - 특정 커밋으로 프로젝트 변경 황제낙엽 2025.08.26 668
76 git clone시 보안에 취약하지만 사용자 아이디와 비번 저장해놓고 사용하기 황제낙엽 2025.08.05 679
75 cherry pick 내가 원하는 커밋만 가져오기 file 황제낙엽 2022.02.17 1048
74 Git Extensions Online Manual 황제낙엽 2022.02.17 5435
73 TortoiseSVN 초보자 가이드 file 황제낙엽 2022.02.09 968
72 [TortoiseSVN] SVN Revision 되돌리는 법 file 황제낙엽 2022.02.09 2594
71 심플한 커밋 이력 조회 (git log --pretty=format) [2] 황제낙엽 2022.01.12 1072
70 Git 특정 폴더 및 파일만 clone 하기 (작성중) 황제낙엽 2021.10.08 1014
69 git remote set-url file 황제낙엽 2021.09.03 904
68 git clone [bare/mirror] 정리 file 황제낙엽 2021.09.03 1486
67 Git Repository 이동하기 황제낙엽 2021.09.02 907
66 유용한 Git 명령어 몇가지 황제낙엽 2021.09.02 921
65 Git의 4가지 영역 황제낙엽 2021.09.02 904
64 Git bare repository 황제낙엽 2021.09.02 829
63 git reset의 3가지 옵션 제대로 이해하기 file 황제낙엽 2021.07.31 912
62 이전 커밋으로 되돌리기 (revert, reset) file 황제낙엽 2021.07.31 1066
61 TortoiseSVN - add to ignore list file 황제낙엽 2021.06.04 1173
60 Ubuntu 에 Git 설치 황제낙엽 2020.09.13 934