Git 워크트리

고급 Git

Amanda Crawford-Adamo

Software and Data Engineer

Git 워크트리란?

Git Worktree 명령어

git worktree
  • 워크스페이스에서 여러 브랜치를 동시에 체크아웃할 수 있습니다.
  • 일반 저장소 체크아웃과 유사하나 더 효율적
  • 변경 사항을 스태시할 필요 없음
  • 개발 중 브랜치를 전환할 필요 없음

원과 선으로 이루어진 가짜 나무

고급 Git

Git Worktree vs Git Switch

이 표는 개발 워크플로에서 git worktree와 git switch를 비교합니다. $$

Git Worktree Git Switch
여러 활성 브랜치 한 번에 하나의 활성 브랜치
분리된 디렉터리 단일 작업 디렉터리
스태시 불필요 스태시가 필요할 수 있음
고급 Git

Git 워크트리 생성

<branch>에서 새 워크트리를 <path> 디렉터리에 생성

git worktree add <path> <branch>

예시

bugfix/data-validation 브랜치에서 ../etl-bugfix 디렉터리로 새 워크트리 생성

git worktree add ../etl-bugfix bugfix/data-validation
고급 Git

워크트리 나열 및 제거

  • 모든 활성 워크트리 나열: git worktree list

예시 출력

$ git worktree list
flight-pipeline            a1b2c3d [main]
flight-pipeline-feature    e4f5g6h [feature]
flight-pipeline-hotfix     i7j8k9l [hotfix]
  • <path>의 워크트리 제거: git worktree remove <path>

예시 출력

$ git worktree remove flight-pipeline-hotfix
flight-pipeline-hotfix: deleted
고급 Git

Git 워크트리 사용 시점

사용 시점:

  • 여러 기능을 동시에 개발할 때
  • 진행 중인 작업을 방해하지 않고 긴급 버그를 수정할 때
  • 다른 브랜치에서 병렬로 테스트할 때
  • 개발을 계속하면서 코드 리뷰할 때

재검토 시점:

  • 디스크 공간이 부족할 때
  • 잦은 업데이트와 복잡한 머지가 있는 프로젝트
고급 Git

Git 워크트리 모범 사례

Git 워크트리 사용 시 유의사항:

  1. 워크트리 디렉터리는 명확한 이름 규칙을 사용하세요
  2. 사용하지 않는 워크트리는 정기적으로 정리(prune)하세요
  3. 대형 프로젝트는 디스크 공간을 주의하세요
  4. 혼란을 피하려면 단기 병렬 작업에 활용하세요
고급 Git

연습해 봅시다!

고급 Git

Preparing Video For Download...