> ## Documentation Index
> Fetch the complete documentation index at: https://docs.parallelane.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 점유 브랜치 & 정리

> 점유 브랜치 체크아웃과 워크트리 정리

이미 다른 워크트리가 점유한 브랜치를 체크아웃할 때와, 사라진 워크트리를 정리할 때의 동작입니다.

## 점유된 브랜치 체크아웃

Git은 같은 브랜치를 둘 이상의 워크트리가 동시에 체크아웃하는 것을 막습니다.
ParalleLane은 이 실패를 에러로 던지는 대신, 그 브랜치를 점유한 워크트리로 전환할지 묻는 확인 모달로 바꿉니다.

<Steps>
  <Step title="점유된 브랜치를 체크아웃 시도">
    사이드바나 그래프에서 브랜치를 체크아웃합니다.
  </Step>

  <Step title="전환 확인 모달 표시">
    `git worktree list` 로 그 브랜치를 점유한 워크트리를 확인해 **다른 워크트리로 전환** 모달을 띄우고, 대상 워크트리와 브랜치를 표시합니다.
    모달 화면은 [브랜치 체크아웃](/ko/history/checkout)에서 볼 수 있습니다.
  </Step>

  <Step title="전환 또는 취소">
    **전환** 을 누르면 해당 워크트리로 이동합니다.
    **취소** 는 아무 변화 없이 모달만 닫습니다.
  </Step>
</Steps>

<Note>
  현재 워크트리에 커밋하지 않은 변경이 있으면, 점유 여부를 따지기 전에 [로컬 변경 처리 모달](/ko/history/checkout#체크아웃-모달-로컬-변경-처리)을 먼저 거칩니다.
</Note>

## 유령·무효 워크트리 정리하기

<AccordionGroup>
  <Accordion title="유령(prunable) 워크트리 — 디렉터리가 사라짐" icon="ghost">
    작업 디렉터리는 없어졌지만 `.git/worktrees/<id>/` 메타데이터만 남은 상태입니다.
    사이드바에서 흐리게 표시되고 **존재하지 않음(Missing)** 배지가 붙습니다.

    <Frame>
      <img src="https://mintcdn.com/railgit/1HhHpeGsA-i8McQ3/images/worktree-prunable.png?fit=max&auto=format&n=1HhHpeGsA-i8McQ3&q=85&s=43f3b6ed9a33bfeb80727e137f25cb3f" alt="사이드바의 유령 워크트리 행 클로즈업. 폴더 아이콘과 브랜치 이름이 흐리게 표시되고 오른쪽에 유령 아이콘과 '존재하지 않음(Missing)' 배지가 붙어 있다" width="518" height="72" data-path="images/worktree-prunable.png" />
    </Frame>

    행을 클릭하면 **워크트리 디렉토리가 없습니다** 경고 토스트와 **정리하기** 버튼이 나타납니다.
    누르면 그 저장소의 유령 워크트리 전부를 `git worktree prune` 으로 정리하고 제거된 개수를 알려 줍니다.
    유령 행은 클릭해도 선택되지 않으므로 지금 보고 있는 워크트리는 유지됩니다.
  </Accordion>

  <Accordion title="도달 불가 워크트리 — 목록에서 이미 빠짐" icon="unlink">
    선택 중이던 워크트리가 외부 삭제 등으로 Git의 `worktree list` 에서 완전히 빠진 상태입니다.
    이 경우 선택을 해제하고 **워크트리를 찾을 수 없음** 경고 토스트와 **정리** 버튼을 띄웁니다.

    버튼을 누르면 그 워크트리로 남아 있던 캐시(그래프·저장소 개요·워킹 카피 상태·LFS·되돌리기 기록)를 비우고, prune을 실행한 뒤 목록을 다시 조회해 낡은 행을 제거합니다.
  </Accordion>
</AccordionGroup>

### 설정에서 일괄·자동 정리

**설정 → ParalleLane → 일반(General)** 의 **잘못된 워크트리(Invalid worktrees)** 항목에서 처리합니다.

* **지금 정리(Prune now)** — 등록된 모든 저장소의 유령 워크트리를 일괄 정리합니다.
* **잘못된 워크트리 자동 정리** 토글(기본 꺼짐) — 켜면 워크트리 목록을 읽을 때마다 자동으로 정리합니다.

<Frame>
  <img src="https://mintcdn.com/railgit/1HhHpeGsA-i8McQ3/images/worktree-prune-settings.png?fit=max&auto=format&n=1HhHpeGsA-i8McQ3&q=85&s=2474cfa160fe54d3ac14644aa4196e97" alt="설정 → ParalleLane → 일반(General)의 잘못된 워크트리(Invalid worktrees) 설정 행 한 줄만 잘라낸 클로즈업. 굵은 제목과 유령 워크트리 정리 설명 문구가 왼쪽에 있고, 같은 줄 오른쪽 끝에 지금 정리(Prune now) 버튼과 라벨 없는 자동 정리 토글이 꺼진 상태로 나란히 놓여 있다" width="2224" height="158" data-path="images/worktree-prune-settings.png" />
</Frame>

<Warning>
  정리(prune)는 작업 디렉터리가 실제로 사라진 워크트리만 제거합니다.
  디스크에 살아 있는 워크트리는 건드리지 않습니다.

  살아 있는 워크트리를 지우는 것은 [삭제](/ko/worktrees/managing) 흐름이며, 강제 삭제 시 커밋하지 않은 변경이 사라질 수 있습니다.
</Warning>
