코드 관리
워크트리(Work Tree)
워크트리는 Git 저장소의 파일을 실제로 열고 수정하는 작업 디렉터리입니다.
쉬운 설명
에디터에서 코드를 고치는 폴더가 Git의 워크트리예요. 커밋으로 기록한 내용과 아직 기록하지 않은 수정이 이 폴더의 파일에 나타나요. Git의 worktree 기능으로 같은 저장소에 연결된 작업 폴더를 여러 개 만들 수도 있어요. AI 에이전트에게 다른 작업을 동시에 맡길 때 이런 별도 폴더를 쓰는 경우가 있어요.
이런 상황에서 만나요
신청 폼 수정은 진행 중인데 README도 별도로 고치고 싶다고 해 볼게요. 같은 폴더에서 브랜치를 계속 전환하는 대신, 별도의 연결된 워크트리에서 문서 작업을 진행할 수 있어요.
작업 폴더와 브랜치를 짝지어 확인해요
폴더: study-form/ 브랜치: form-fix 수정: SignupForm.tsx
폴더: study-docs/ 브랜치: docs-update 수정: README.md
개발 서버 포트
외부 데이터베이스와 계정
- 1첫 번째 작업의 파일이 놓인 위치예요.
- 2같은 저장소에 연결된 별도 워크트리 예시예요.
- 3폴더를 나눠도 자동으로 격리되지 않는 자원이 있어요.
AI에게 작업을 맡길 때 폴더 경로와 브랜치를 함께 확인해 주세요. 다른 워크트리의 수정을 기대한 화면에서 볼 수 없다면, 개발 서버가 어느 폴더에서 실행됐는지도 확인해요. 작업을 합친 뒤에는 최종 폴더에서 기능을 다시 검증해요.
헷갈리기 쉬운 점
워크트리를 나누면 모든 실행 환경도 분리되나요?
파일을 별도 폴더에서 다루는 것과 컴퓨터 자원을 완전히 격리하는 것은 달라요. 두 서버가 같은 포트를 쓰려 하거나 같은 외부 데이터베이스를 수정할 수 있어요. 패키지 설치나 .env 같은 설정 파일도 새 폴더에서 따로 준비해야 할 수 있어요.
워크트리를 지우기 전에 커밋하지 않은 수정과 아직 합치지 않은 기록을 확인하세요. 다른 폴더에 있다는 이유로 데이터베이스나 계정 권한도 분리됐다고 생각하면 안 돼요.
왜 알아야 할까요?
에이전트가 수정한 파일과 지금 보고 있는 서버가 다른 폴더를 사용하는 문제를 찾을 수 있어요. 동시에 맡길 작업의 범위와 공유 자원도 더 분명하게 정할 수 있어요.
조금 더 자세히
일반적인 Git 저장소에는 기본 워크트리가 있습니다. git worktree 명령으로 연결된 워크트리를 추가하면 저장소의 기록을 공유하면서 파일과 현재 체크아웃 상태를 별도로 둘 수 있습니다.
브랜치는 커밋을 가리키는 이름이고 워크트리는 파일이 놓인 작업 위치입니다. 같은 브랜치를 여러 워크트리에서 동시에 체크아웃하는 작업은 기본적으로 제한되므로 작업별 브랜치를 구분합니다.
직접 사용할 때 확인해 보세요
- 작업 폴더와 브랜치를 함께 확인한다
- 서버 포트와 외부 데이터 공유 여부를 확인한다
- 삭제 전에 미커밋 수정과 병합 상태를 확인한다