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

# 브랜치 & 태그

> 브랜치·태그 생성/이름변경/삭제, 스마트 그룹으로 정리

브랜치와 태그는 커밋 그래프에서 커밋을 **우클릭**해 여는 컨텍스트 메뉴로 관리합니다. 커밋 위에서 생성하고, 브랜치·태그 배지가 붙은 커밋에서는 그 브랜치/태그별 서브메뉴로 이름 변경·삭제까지 할 수 있습니다.

<Note>
  저장소(Repository) 패널의 행을 우클릭해도 같은 다이얼로그를 열 수 있습니다 — 로컬 브랜치는 **체크아웃 / 이름 변경… / 삭제**, 원격 브랜치와 태그는 **체크아웃 / 삭제** 입니다. 다만 **생성** 은 그래프에서 기준 커밋을 골라야 하므로 사이드바에는 없습니다.
</Note>

수가 많아진 브랜치·태그는 저장소(Repository) 패널에서 **스마트 그룹** 으로 묶어 정리할 수 있습니다. [브랜치와 태그를 그룹으로 정리하기](#브랜치와-태그를-그룹으로-정리하기)를 참고하세요.

## 브랜치 만들기

<Steps>
  <Step title="기준 커밋 우클릭">
    새 브랜치의 시작점이 될 커밋을 우클릭하고 **브랜치 만들기…** 를 선택합니다.
  </Step>

  <Step title="이름 입력 후 생성">
    **브랜치 이름(Branch name)** 을 입력합니다. **생성 후 체크아웃(Checkout after creating)** 토글이 기본으로 켜져 있어, 만들면서 바로 그 브랜치로 전환합니다. 필요 없으면 토글을 끄고 **만들기(Create)** 를 누릅니다.
  </Step>
</Steps>

<Frame>
  <img src="https://mintcdn.com/railgit/1HhHpeGsA-i8McQ3/images/history-branch-create.png?fit=max&auto=format&n=1HhHpeGsA-i8McQ3&q=85&s=7b6af5869f51ce02f615b16fb7f09a5d" alt="기준 커밋에서 새 브랜치를 만드는 다이얼로그 — 이름 입력창과 생성 후 체크아웃 토글" width="886" height="480" data-path="images/history-branch-create.png" />
</Frame>

## 브랜치 이름 변경

로컬 브랜치의 이름을 바꿉니다. (원격 전용 브랜치는 대상이 아닙니다.)

<Steps>
  <Step title="브랜치 서브메뉴 열기">
    브랜치 배지가 붙은 커밋을 우클릭하면, 그 로컬 브랜치 이름의 서브메뉴가 나옵니다. **이름 변경…** 을 선택합니다.
  </Step>

  <Step title="새 이름 입력">
    **현재 이름(Current name)** 이 함께 표시되고, **새 이름(New name)** 입력창은 현재 이름으로 채워져 있습니다. 새 이름을 입력합니다. 빈 값이거나 현재 이름과 같으면 확인 버튼이 비활성화됩니다.
  </Step>

  <Step title="원격도 함께 변경 (선택)">
    브랜치가 올라가 있는 원격이 있으면 **원격에서도 이름 변경(Also rename on remote)** 토글이 나타납니다(기본 꺼짐). 켜면 새 이름으로 push한 뒤 옛 이름을 원격에서 삭제합니다.
  </Step>
</Steps>

<Note>
  현재 체크아웃 중인 브랜치도 이름을 바꿀 수 있습니다. 원격 변경은 "새 이름 push → 성공 시 옛 이름 삭제" 순서로 진행되어, 중간에 실패해도 원격 데이터가 보호됩니다.
</Note>

## 브랜치 삭제

<Steps>
  <Step title="브랜치 서브메뉴에서 삭제">
    브랜치 배지가 붙은 커밋을 우클릭하고 해당 브랜치 서브메뉴에서 **삭제** 를 선택합니다.
  </Step>

  <Step title="확인 (+ 원격 삭제 선택)">
    확인 모달이 뜹니다. 브랜치가 원격에 있으면 **원격에서도 삭제(Also delete on remote)** 토글로 원격 브랜치까지 함께 지울 수 있습니다.
  </Step>
</Steps>

<Warning>
  현재 체크아웃 중인 브랜치는 삭제할 수 없어 서브메뉴에서 **삭제** 항목이 비활성화됩니다.

  병합되지 않은 커밋이 남은 브랜치를 삭제하려 하면 Git이 데이터 유실을 막기 위해 거부합니다. 이때 에러 알림에 **강제 삭제** 버튼이 나타나며, 누르면 확인 없이 곧바로 강제 삭제합니다. 강제 삭제한 커밋은 다른 브랜치에 없으면 유실될 수 있습니다(reflog로 복구 여지는 있음).
</Warning>

## 태그 만들기

<Steps>
  <Step title="커밋 우클릭 → 태그 만들기">
    태그를 붙일 커밋을 우클릭하고 **태그 만들기…** 를 선택합니다.
  </Step>

  <Step title="제목과 설명 입력">
    **제목(Title)** 에 태그 이름을 입력합니다(비어 있으면 **만들기** 버튼이 비활성). **설명 (선택)(Description (optional))** 은 비워 둘 수 있습니다.

    * 설명을 비우면 **lightweight 태그** 로 만들어집니다.
    * 설명을 채우면 **annotated 태그** 로 만들어집니다.
  </Step>

  <Step title="원격 푸시 (선택)">
    **원격(origin)에 푸시(Push to remote (origin))** 토글을 켜면 태그를 만들면서 원격에도 올립니다.
  </Step>
</Steps>

<Frame>
  <img src="https://mintcdn.com/railgit/1HhHpeGsA-i8McQ3/images/history-tag-create.png?fit=max&auto=format&n=1HhHpeGsA-i8McQ3&q=85&s=fef2123579d4c72bbf7bcc5df4e8116d" alt="태그 이름과 설명(선택)을 입력하고 원격 푸시 여부를 고르는 태그 만들기 다이얼로그" width="886" height="624" data-path="images/history-tag-create.png" />
</Frame>

## 태그 삭제

<Steps>
  <Step title="태그 서브메뉴에서 삭제">
    태그 배지가 붙은 커밋을 우클릭하면 태그 이름의 서브메뉴가 나옵니다. **삭제** 를 선택합니다.
  </Step>

  <Step title="확인 (+ 원격 삭제 선택)">
    확인 모달에서 **원격에서도 삭제(Also delete on remote)** 토글을 켜면 설정된 원격에서도 해당 태그를 삭제합니다. lightweight/annotated 구분 없이 동일하게 삭제됩니다.
  </Step>
</Steps>

<Note>
  태그 삭제 시 "원격에서도 삭제"는 설정된 원격 모두에 삭제를 시도합니다. 해당 태그가 없는 원격에서는 Git이 에러를 내며, 그 내용은 알림으로 표시됩니다.
</Note>

## 브랜치와 태그를 그룹으로 정리하기

브랜치와 태그가 수십 개로 늘어나면 목록에서 원하는 것을 찾기 어려워집니다. **스마트 그룹(smart group)** 은 이름이 패턴에 맞는 ref를 하나의 묶음으로 자동으로 모아 주는 기능입니다. 항목을 하나하나 배정할 필요 없이 **패턴만 정해 두면** 되고, 나중에 새로 생긴 ref도 패턴에 맞으면 저절로 그 그룹에 들어갑니다.

저장소(Repository) 패널의 **로컬 브랜치(Local Branches)**, **원격 브랜치(Remote Branches)**, **태그(Tags)** 세 섹션이 각각 독립된 그룹 목록을 가집니다.

<Note>
  그룹은 **화면 정리 전용 기능** 입니다. 앱 안에만 저장되며 git 저장소나 원격에는 아무 영향이 없습니다 — 브랜치·태그가 옮겨지거나 이름이 바뀌지 않습니다. 그룹을 하나도 만들지 않았다면 목록은 기존과 완전히 동일하게 보입니다.
</Note>

### 그룹 만들기

<Steps>
  <Step title="섹션 헤더에서 새 그룹 열기">
    **로컬 브랜치** · **원격 브랜치** · **태그** 섹션 헤더에 **마우스를 올리면** 오른쪽에 아이콘 버튼이 나타납니다. **＋** 버튼(툴팁 **새 그룹(New group)**)을 누릅니다. 그룹이 하나 이상 있는 섹션에는 그 왼쪽에 톱니 아이콘 버튼(툴팁 **그룹 관리(Manage groups)**)도 함께 나타납니다 — 그룹이 없으면 ＋ 버튼만 보입니다.

    <Tip>
      이 버튼들은 **평소에는 숨어 있고 헤더에 hover하거나 키보드 포커스가 들어올 때만** 드러납니다. 사이드바를 훑어봐도 ＋가 안 보이는 것이 정상이니, 섹션 이름 위에 마우스를 올려 보세요.
    </Tip>
  </Step>

  <Step title="이름과 매칭 패턴 입력">
    **그룹 이름(Group name)**(예: `릴리스`)과 **매칭 패턴 (글롭)(Match pattern (glob))**(예: `release/*`)을 입력합니다. 둘 중 하나라도 비어 있으면 확인 버튼이 비활성화됩니다.
  </Step>

  <Step title="범위 고르기">
    **범위(Scope)** 드롭다운에서 이 그룹을 어디에 적용할지 고릅니다. 기본값은 **전역(Global)** 입니다.
  </Step>

  <Step title="생성">
    **생성(Create)** 을 누르면 그룹이 만들어지고, 패턴에 맞는 ref가 곧바로 그 아래로 모입니다.
  </Step>
</Steps>

<CardGroup cols={2}>
  <Card title="전역 (Global)" icon="globe">
    모든 저장소에서 이 그룹을 사용합니다. 모든 요금제에서 쓸 수 있습니다.
  </Card>

  <Card title="이 저장소 (This repo)" icon="folder">
    현재 저장소에서만 쓰는 그룹입니다. **Pro 전용** 이라 드롭다운에 PRO 배지가 붙습니다.
  </Card>
</CardGroup>

<Note>
  Basic 요금제에서 **이 저장소** 를 고르면 범위가 바뀌지 않고 업그레이드 안내가 표시됩니다. 이미 만들어 둔 저장소 전용 그룹은 그대로 유지되며 계속 편집할 수 있습니다.
</Note>

### 매칭 패턴 (글롭)

패턴은 ref 이름 **전체와 일치**해야 하며, 대소문자는 구분하지 않습니다.

| 기호  | 의미                    |
| --- | --------------------- |
| `*` | 임의 길이의 문자열 (`/` 도 포함) |
| `?` | 임의의 한 글자              |

무엇과 비교되는지는 섹션마다 다릅니다.

* **로컬 브랜치**: 브랜치 이름 그대로 — `feature/login`
* **원격 브랜치**: 원격 이름을 포함한 전체 문자열 — `origin/feature/login`
* **태그**: 태그 이름 — `v1.2.0`

<Tip>
  원격 브랜치 섹션에서는 원격 이름까지 매칭 대상이므로, `feature/*` 대신 `*/feature/*` 또는 `origin/feature/*` 처럼 써야 걸립니다.
</Tip>

<Note>
  하나의 ref는 **한 그룹에만** 들어갑니다. 여러 패턴에 걸리면 **먼저 확인된 그룹**이 가져갑니다. 확인 순서는 **이 저장소 전용 그룹 → 전역 그룹** 이며, 같은 범위 안에서는 목록에 놓인 순서를 따릅니다. 그래서 좁은 패턴을 위로, 넓은 패턴(`*` 등)을 아래로 두는 편이 예측하기 쉽습니다.
</Note>

어떤 그룹에도 걸리지 않은 ref는 그룹 라벨 없이 **원래 자리에 그대로** 남습니다. 그룹에 속한 ref만 한 단계 들여써서 위계를 구분합니다. 그룹 안에서도 **목록 보기 / 트리 보기**(패널 헤더의 보기 전환 버튼) 설정은 그대로 적용됩니다.

### 그룹 다루기

* 그룹 헤더에는 **접기 화살표**, 필터 아이콘, 그룹 이름, **매칭된 개수** 가 표시됩니다. 헤더를 클릭하면 접거나 펼칩니다(`Enter`/`Space` 로도 동작).
* 헤더를 **우클릭** 하면 **그룹 편집…(Edit group…)** / **위로(Move up)** / **아래로(Move down)** / **삭제(Delete)** 메뉴가 열립니다. **삭제** 는 빨간색으로 표시되고, **위로/아래로** 는 목록의 처음·끝에서 각각 비활성화됩니다.
* **그룹 편집…** 에서는 이름·패턴은 물론 **범위** 도 바꿀 수 있습니다(전역 ↔ 이 저장소). 편집 모드의 확인 버튼은 **저장(Save)** 입니다.

<Note>
  현재 저장소에서 매칭이 **0개인 그룹도 개수 0으로 계속 표시됩니다**. 그룹을 만들었는데 목록에서 사라져 혼란스러운 상황을 막기 위한 동작입니다.
</Note>

### 그룹 관리 모달

섹션 헤더의 **그룹 관리** 버튼을 누르면 그 섹션의 **모든 그룹을 한 화면에서** 다룹니다(모달 제목도 **그룹 관리**). 각 행에 그룹 이름과 매칭 패턴이 함께 표시되고, 행 오른쪽 버튼으로 **위로 · 아래로 · 편집 · 삭제** 를 처리할 수 있습니다. 아래쪽 **새 그룹** 버튼으로 바로 그룹을 추가할 수도 있습니다.

* 매칭이 0개인 그룹도 빠짐없이 나열되므로, 목록에서 눈에 띄지 않는 그룹까지 정리할 수 있습니다.
* 순서 이동은 **같은 범위 안에서** 이뤄집니다. 이 저장소 전용 그룹은 항상 전역 그룹보다 먼저 확인됩니다.

<Warning>
  그룹 **삭제** 는 확인 절차 없이 곧바로 처리됩니다. 그룹만 없어지고 브랜치·태그 자체는 삭제되지 않으니, 지운 ref는 그룹 라벨 없이 원래 목록으로 돌아옵니다.
</Warning>
