AIRGAP StudioAIRGAP Studio

Worktree (작업 트리)

AIRGAP Assistant의 Worktree 기능으로 병렬 작업 환경 구성

개요

Git Worktree는 하나의 Git 리포지토리에서 여러 브랜치를 동시에 체크아웃하여 각각 독립된 작업 디렉터리로 사용하는 기능입니다. AIRGAP Assistant는 Worktree 환경을 인식하고, 각 작업 트리의 컨텍스트에 맞게 파일을 탐색하고 수정합니다.

왜 Worktree를 사용하나요?

일반적으로 브랜치를 전환하려면 현재 작업을 커밋하거나 스태시해야 합니다. Worktree를 사용하면 이 과정 없이 여러 브랜치에서 동시에 작업할 수 있습니다.

시나리오기존 방식Worktree 방식
기능 개발 중 긴급 버그 수정stash → 브랜치 전환 → 수정 → 전환 복귀별도 worktree에서 바로 수정
두 기능 병렬 개발브랜치를 번갈아가며 전환각 worktree에서 동시 진행
코드 리뷰 중 본 작업 유지작업 중단 필요리뷰용 worktree에서 확인

Worktree 생성 및 관리

터미널에서 다음 명령어로 worktree를 생성합니다.

# 새 브랜치와 함께 worktree 생성
git worktree add ../my-feature feature-branch

# 기존 브랜치로 worktree 생성
git worktree add ../hotfix hotfix/login-bug

# 현재 worktree 목록 확인
git worktree list

# worktree 삭제
git worktree remove ../my-feature

생성된 worktree 폴더를 AIRGAP Studio에서 별도의 창으로 열면 독립적인 작업 환경이 됩니다.

.worktreeinclude 설정

.worktreeinclude 파일을 사용하면 AI 어시스턴트가 worktree에서 참조할 파일과 폴더를 지정할 수 있습니다. 프로젝트 루트에 이 파일을 생성하고, 포함할 패턴을 한 줄에 하나씩 작성합니다.

# .worktreeinclude 예시
src/
tests/
package.json
tsconfig.json
*.md

참고: .worktreeinclude에 지정되지 않은 파일은 AI의 컨텍스트에서 제외됩니다. 이를 통해 대규모 프로젝트에서 불필요한 파일 탐색을 줄이고 AI 응답의 정확도를 높일 수 있습니다.

작성 규칙

  • 디렉터리는 /로 끝납니다 (예: src/)
  • 와일드카드 패턴을 사용할 수 있습니다 (예: *.ts, docs/**/*.md)
  • #으로 시작하는 줄은 주석으로 처리됩니다
  • 빈 줄은 무시됩니다

활용 팁

  • 각 worktree에 별도의 .clinerules를 두면 작업 유형에 맞는 AI 규칙을 적용할 수 있습니다.
  • worktree 간에는 Git 히스토리가 공유되므로 한쪽에서 커밋한 내용이 다른 쪽에서도 참조 가능합니다.
  • 작업이 끝난 worktree는 git worktree remove로 정리하여 디스크 공간을 확보하세요.

관련 문서