> ## 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.

# 워크트리별 상태

> 워크트리별 독립 상태와 표시

각 워크트리는 자신만의 상태를 유지합니다. 어느 워크트리를 보고 있든 그 워크트리의 커밋 그래프, 저장소 개요, 처리해야 할 변경·충돌 상태가 독립적으로 관리됩니다.

## 우측 사이드바의 워킹 카피 카드

우측 사이드바 최상단(원격 작업 툴바 바로 아래)에는 **워킹 카피(Working copy)** 진입 카드가 **항상** 놓여 있습니다. 커밋 상세를 보고 있어도 사라지지 않고, 지금 선택한 워크트리에 처리할 것이 있는지 한 줄로 요약합니다. 클릭하면 언제든 워킹 카피 패널로 들어갑니다.

카드가 나타내는 상태는 세 가지이고, 판정 우선순위는 명확합니다.

<Steps>
  <Step title="머지 충돌이 있으면 — 충돌 개수">
    해결되지 않은 병합 충돌이 있으면 왼쪽 점이 error(장미/빨강) 색으로 채워지고, 오른쪽에 `3개 충돌`처럼 충돌 개수가 같은 색 고정폭 글꼴로 표시됩니다. 개수는 충돌 파일 수와 머지 상태가 보고한 충돌 수 중 **큰 값**을 씁니다.

    <Frame>
      <img src="https://mintcdn.com/railgit/1HhHpeGsA-i8McQ3/images/worktree-status-conflict.png?fit=max&auto=format&n=1HhHpeGsA-i8McQ3&q=85&s=d1ec4e5c94cf28b070dc85e66c75a8dc" alt="우측 사이드바 최상단의 워킹 카피 카드가 빨강 점과 충돌 개수를 보여 주고, 그 아래로 충돌 파일이 있는 워킹 카피 패널이 열려 있다" width="2386" height="1784" data-path="images/worktree-status-conflict.png" />
    </Frame>
  </Step>

  <Step title="충돌이 없고 변경사항이 있으면 — 변경 개수">
    충돌이 없고 staged·unstaged·untracked 변경이 하나라도 있으면 점이 amber(수정색)로 채워지고 `5개 변경`처럼 변경 개수가 표시됩니다. 개수는 세 종류를 모두 더한 값입니다.

    <Frame>
      <img src="https://mintcdn.com/railgit/1HhHpeGsA-i8McQ3/images/worktree-status-changes.png?fit=max&auto=format&n=1HhHpeGsA-i8McQ3&q=85&s=6751d17bb05a3869ae73f6dd30ba7e18" alt="우측 사이드바 최상단의 워킹 카피 카드가 amber 점과 변경 개수를 보여 주고, 그 아래로 변경 파일이 나열된 워킹 카피 패널이 열려 있다" width="2386" height="1784" data-path="images/worktree-status-changes.png" />
    </Frame>
  </Step>

  <Step title="둘 다 없으면 — 변경 없음">
    깨끗한 상태에서도 카드는 사라지지 않습니다. 점이 속이 빈 링으로 바뀌고 **변경 없음**이 차분한 muted 톤으로 표시됩니다. 이때도 클릭할 수 있어서, 변경이 없어도 워킹 카피 패널에 들어가 마지막 커밋을 수정(amend)하거나 메시지를 고칠 수 있습니다.
  </Step>
</Steps>

<Note>
  카드는 **현재 선택한 워크트리 하나**만 대상으로 합니다. 그래프 최상단의 워킹 카피 진입 행(작업 트리에 변경이 있을 때만 생깁니다), 워킹 카피 패널, 이 카드는 모두 같은 상태 소스를 공유하므로, 스테이징·언스테이징·되돌리기를 하면 카드의 개수도 즉시 갱신됩니다.

  워킹 카피를 보고 있는 동안에는 카드가 선택 상태가 되어 좌측에 초록색 accent 선이 붙고, 변경·충돌이 있을 때 오른쪽에 붙던 화살표(chevron)는 생략됩니다.
</Note>

## 워크트리마다 독립적으로 유지되는 것들

ParalleLane은 워크트리를 오갈 때 각 워크트리의 문맥을 최대한 보존합니다.

<CardGroup cols={2}>
  <Card title="커밋 그래프" icon="git-branch">
    워크트리별로 그래프가 따로 계산·캐시됩니다. 연결된 워크트리로 전환하면 그 워크트리에 맞는 그래프가 빠르게 다시 나타납니다.
  </Card>

  <Card title="저장소 개요" icon="list-tree">
    로컬·원격 브랜치, 태그, 스태시 목록도 워크트리 단위로 캐시되어, 워크트리별 상태를 정확히 반영합니다.
  </Card>

  <Card title="워킹 카피 상태" icon="file-diff">
    각 워크트리의 스테이징·변경·충돌 상태가 독립적으로 추적됩니다. 우측 사이드바의 워킹 카피 카드도 여기서 파생됩니다.
  </Card>

  <Card title="그래프 스코프 토글" icon="filter">
    연결된 워크트리의 "현재 브랜치만 / 모든 브랜치" 토글 상태는 워크트리별로 저장되어 앱을 다시 켜도 유지됩니다.
  </Card>
</CardGroup>

<Note>
  단, **열린 탭**은 다릅니다. 다른 워크트리로 전환하면 열려 있던 diff 탭은 닫히고 탭이 그래프를 보여 주는 **히스토리(History)** 탭 하나로 초기화됩니다. 이는 이전 워크트리의 stale 탭이 남지 않게 하려는 의도된 동작입니다. 같은 워크트리를 다시 선택하면 탭은 그대로 유지됩니다. (자세한 전환 동작은 [생성·전환·삭제](/worktrees/managing) 참고)
</Note>

### 그래프 스코프: 현재 브랜치 vs 모든 브랜치

연결된 워크트리는 특정 브랜치 작업에 집중하는 공간인 경우가 많습니다. 그래서 ParalleLane은 워크트리 종류에 따라 그래프 범위를 다르게 잡습니다.

<Tabs>
  <Tab title="기본 워크트리">
    항상 **모든 브랜치**(로컬 + 원격)를 그립니다. 저장된 값이 있어도 무시하고 모든 브랜치로 고정되며, 스코프 토글 버튼 자체가 표시되지 않습니다.
  </Tab>

  <Tab title="연결된(linked) 워크트리">
    기본은 **현재 브랜치만** 보기입니다. 체크아웃된 브랜치의 tip과 그 업스트림(원격 트래킹 브랜치)에서 도달 가능한 커밋까지 함께 보여 줍니다. 상단 바의 토글로 **모든 브랜치 보기**와 전환할 수 있으며, 이 선택은 워크트리별로 저장되어 앱을 다시 켜도 유지됩니다.
  </Tab>
</Tabs>

<Tip>
  토글 버튼의 툴팁은 **누르면 어떻게 되는지**를 알려 줍니다. 현재 브랜치만 보고 있으면 "모든 브랜치 보기", 모든 브랜치를 보고 있으면 "현재 브랜치만 보기"로 표시됩니다.

  스코프 토글은 **연결된 워크트리에서 히스토리(History) 탭을 보고 있을 때만** 상단 바에 나타납니다. diff 탭을 보고 있을 때는 나타나지 않습니다.
</Tip>

## 사이드바 워크트리 행 표시 규칙

사이드바의 각 워크트리 행은 상태를 색뿐 아니라 아이콘·텍스트로도 명확히 구분합니다.

| 상태           | 선두 아이콘        | 라벨                         | 꼬리 표시                        |
| ------------ | ------------- | -------------------------- | ---------------------------- |
| 브랜치 있음       | 폴더 아이콘(기본/연결) | 브랜치 이름                     | `↑앞섬 ↓뒤처짐`                   |
| 분리된 HEAD     | 폴더 아이콘        | 커밋 마커 + 7자리 짧은 SHA(고정폭 폰트) | `↑앞섬 ↓뒤처짐`                   |
| 유령(prunable) | 폴더 아이콘(흐림)    | 위 규칙 그대로(흐림)               | 유령 아이콘 + 존재하지 않음(Missing) 배지 |

앞섬/뒤처짐은 **0이 아닌 쪽만** 표시되고, 둘 다 0이면 아무것도 붙지 않습니다. 연결된 워크트리 행에 마우스를 올리면 이 카운터 자리에 삭제 버튼이 들어옵니다.

<Frame>
  <img src="https://mintcdn.com/railgit/1HhHpeGsA-i8McQ3/images/worktree-row-badges.png?fit=max&auto=format&n=1HhHpeGsA-i8McQ3&q=85&s=aa770e21f63fe2ef06b06dbcc232279f" alt="워크트리 행 클로즈업. 폴더 아이콘과 브랜치 이름 뒤로 행 오른쪽 끝에 앞섬/뒤처짐 개수가 표시되어 있다" width="518" height="72" data-path="images/worktree-row-badges.png" />
</Frame>

<Note>
  선두 폴더 아이콘은 **기본 워크트리와 연결된 워크트리를 항상 구분**합니다(각각 폴더 체크 / Git 폴더 아이콘). 분리 여부·유령 여부와는 독립입니다. "분리된 HEAD"와 "유령"은 서로 다른 축이라, 유령이면서 분리된 HEAD인 워크트리는 짧은 SHA(흐림)와 존재하지 않음(Missing) 배지를 동시에 보여 줍니다.
</Note>

존재하지 않음(Missing) 배지가 붙은 워크트리는 작업 디렉터리가 사라진 유령 워크트리입니다. 이를 정리하는 방법은 [점유 브랜치 & 정리](/worktrees/advanced)에서 다룹니다.
