> ## 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)** 패널에서 다룹니다.
그래프 맨 위의 **커밋되지 않은 변경(Uncommitted changes)** 행이나 우측 사이드바 맨 위의 **워킹 카피** 카드를 누르면 열립니다.

패널은 변경 파일을 상태별 섹션으로 나눕니다.

* **충돌 파일(Conflicted)** — 충돌이 있을 때만 맨 위에 나타납니다.
* **스테이지 안됨(Unstaged)** — 추적하지 않는 새 파일은 초록 `+` 배지로 표시됩니다.
* **스테이지됨(Staged)** — 다음 커밋에 포함될 변경

각 섹션 헤더의 **스테이지(Stage)** · **스테이지 해제(Unstage)** 버튼은 그 섹션에서 **선택한 파일**에 적용되며, 선택이 없으면 비활성화됩니다.

<Note>
  파일 안의 일부만 스테이지하면 한 파일이 양쪽 섹션에 동시에 나타납니다.
</Note>

<Frame>
  <img src="https://mintcdn.com/railgit/1HhHpeGsA-i8McQ3/images/basics-working-copy.png?fit=max&auto=format&n=1HhHpeGsA-i8McQ3&q=85&s=79c307634e3fcca7b4cb8d92bda5eadd" alt="왼쪽에 커밋 그래프, 오른쪽에 워킹 카피 패널이 열린 화면. 워킹 카피에는 파일 8개가 있는 UNSTAGED 섹션과 2개가 있는 STAGED 섹션이 있고, UNSTAGED 안의 새 파일 notes/reconciliation-draft.md만 초록 + 배지로 구분된다" width="2386" height="1784" data-path="images/basics-working-copy.png" />
</Frame>

## 목록과 트리 보기

파일 목록 위의 전환 버튼으로 **목록 보기**(전체 경로를 한 행에)와 **트리 보기**(폴더 계층으로 묶기)를 바꿉니다.
보기 방식과 접어 둔 폴더는 다시 열었을 때도 유지됩니다.

## 파일 단위로 스테이지하기

파일을 클릭하면 가운데에 diff 탭이 열립니다.
파일을 선택한 뒤 섹션 헤더의 **스테이지** · **스테이지 해제** 버튼을 누르면 결과가 곧바로 반영되고, 여러 파일을 선택하면 한 번에 적용됩니다.

<Warning>
  파일 행에 마우스를 올렸을 때 나타나는 **×** 버튼은 스테이지가 아니라 변경 버리기(Discard)입니다.
</Warning>

## 헝크·라인 단위로 스테이지하기

파일을 클릭해 워킹 카피 diff를 엽니다.

<Steps>
  <Step title="헝크 Stage / Unstage">
    연속된 변경 덩어리 하나가 한 섹션입니다.
    섹션의 아무 행에 마우스를 올리면 첫 행 오른쪽에 버튼이 나타납니다.
    스테이지 안됨 diff에서는 **Stage** 와 **Discard**, 스테이지됨 diff에서는 **Unstage** 입니다.
  </Step>

  <Step title="한 줄만 적용">
    변경 줄에 마우스를 올리면 줄번호 옆에 **줄 스테이지(Stage line)** / **줄 언스테이지(Unstage line)** 버튼이 나타납니다.
    `-old` 와 `+new` 가 한 수정으로 짝지어진 경우에는 두 행이 함께 적용됩니다.
  </Step>
</Steps>

<Frame>
  <img src="https://mintcdn.com/railgit/1HhHpeGsA-i8McQ3/images/basics-stage-hunk.png?fit=max&auto=format&n=1HhHpeGsA-i8McQ3&q=85&s=948553cf9de606e855e290613d5ee610" alt="스테이지하지 않은 워킹 카피 diff. 워크플로 YAML의 한 헝크에서 runs-on 한 줄이 빨강(−)으로 지워지고 strategy·matrix·target·runs-on 네 줄이 초록(+)으로 추가됐다" width="1726" height="1634" data-path="images/basics-stage-hunk.png" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/railgit/1HhHpeGsA-i8McQ3/images/basics-stage-line.png?fit=max&auto=format&n=1HhHpeGsA-i8McQ3&q=85&s=3f2aee3dc99a2c2ff9c601427d011a66" alt="이미 스테이지한 워킹 카피 diff. Rust 파일의 기존 함수 아래에 상수 선언 두 줄이 초록(+)으로 추가된 작은 헝크가 보인다" width="1726" height="1634" data-path="images/basics-stage-line.png" />
</Frame>

<Note>
  라인 액션은 **수정된 텍스트 파일**의 워킹 카피 diff에서만 제공됩니다.
  새 파일, 삭제·이름 변경, 충돌, 바이너리·LFS 파일에는 나타나지 않습니다.
  **공백 변경 무시** 를 켜면 헝크·라인 액션이 함께 사라지므로 파일 단위로 처리하세요.
  라인 단위 Discard는 없습니다.
</Note>

## 커밋하기

<Frame>
  <img src="https://mintcdn.com/railgit/1HhHpeGsA-i8McQ3/images/basics-commit-form.png?fit=max&auto=format&n=1HhHpeGsA-i8McQ3&q=85&s=aabe87e9cc4f2067b06a00edf95b00ef" alt="워킹 카피 패널 상단의 커밋 폼. Summary (required) 입력란, Description 입력란, Amend last commit 체크박스, 초록 Commit 버튼이 차례로 놓여 있다" width="638" height="1702" data-path="images/basics-commit-form.png" />
</Frame>

**요약(Summary)** 은 필수, **설명(Description)** 은 선택이며 둘은 한 줄 띄워 하나의 메시지로 합쳐집니다.
**커밋(Commit)** 을 누르면 그래프가 새로 그려지고 새 커밋이 선택됩니다.
스테이지된 항목이 없거나 요약이 비어 있으면 버튼이 동작하지 않습니다.

<Warning>
  커밋에는 **스테이지된 변경만** 포함됩니다.
  pre-commit 같은 Git hook이 설정돼 있으면 커밋 시 실행되며, hook이 거부하면 커밋이 실패합니다.
</Warning>
