· TIL  · 2 min read

[TIL] git worktree로 브랜치 동시에 작업하기

핫픽스 중에 기존 작업을 stash하지 않고, git worktree로 여러 브랜치를 동시에 체크아웃하는 방법.

핫픽스 중에 기존 작업을 stash하지 않고, git worktree로 여러 브랜치를 동시에 체크아웃하는 방법.

문제

feature 브랜치에서 작업 중인데 긴급 hotfix가 필요합니다. git stashcheckout → 수정 → 다시 checkoutstash pop… 번거롭습니다.

해결: git worktree

# hotfix 브랜치를 별도 디렉토리에 체크아웃
git worktree add ../hotfix-dir hotfix/urgent-fix

# 해당 디렉토리에서 작업
cd ../hotfix-dir
# ... 수정, 커밋, 푸시 ...

# 작업 완료 후 worktree 제거
cd ../original-repo
git worktree remove ../hotfix-dir

실무 활용

# PR 리뷰를 별도 디렉토리에서
git worktree add ../review origin/feature/new-api

# 현재 worktree 목록 확인
git worktree list

# 정리 (삭제된 브랜치의 worktree 제거)
git worktree prune

핵심 포인트

  • 같은 .git을 공유: 별도 clone이 아니므로 디스크 절약
  • 동시 브랜치 작업: IDE 창을 각 worktree에 열어서 병렬 작업
  • 제약: 같은 브랜치를 두 곳에서 체크아웃 불가
  • CI/CD 활용: 빌드와 테스트를 다른 worktree에서 병렬 수행
  • stash보다 안전하고, 컨텍스트 스위칭 비용 제로
Back to Blog

Related Posts

View All Posts »