Files
claude-instructions/commands/git/branch.md

196 lines
4.5 KiB
Markdown

---
description: '브랜치 생성, 전환, 삭제 등 브랜치 관리 작업을 수행합니다'
allowed-tools:
[
'Bash(git branch:*)',
'Bash(git checkout:*)',
'Bash(git switch:*)',
'Bash(git status:*)',
'Bash(git stash:*)',
'Bash(git log:*)',
'Bash(git fetch:*)',
]
---
# Claude 명령어: Branch
브랜치 생성, 전환, 삭제 등 Git 브랜치 관리를 위한 종합 도구입니다.
## 사용법
```
/git:branch [브랜치명] # 새 브랜치 생성 및 전환
/git:branch # 대화형 브랜치 관리 메뉴
```
## 주요 기능
### 1. 브랜치 생성 및 전환
- 새 브랜치 생성과 동시에 전환
- 브랜치명 규칙 자동 검증
- 프리픽스 자동 제안 (feature/, fix/, hotfix/, docs/, chore/)
### 2. 안전한 브랜치 전환
- 전환 전 uncommitted 변경사항 자동 감지
- 필요시 자동 stash 생성
- 원격 브랜치 추적 설정
### 3. 브랜치 관리
- 현재 브랜치 상태 및 목록 확인
- 로컬/원격 브랜치 동기화
- 안전한 브랜치 삭제 (병합 여부 확인)
## 프로세스
### 브랜치 생성 플로우
1. 현재 Git 상태 확인
2. uncommitted 변경사항 처리 (stash 또는 커밋 권장)
3. 브랜치명 검증 및 규칙 적용
4. 최신 main/develop 브랜치에서 분기
5. 새 브랜치 생성 및 전환
### 브랜치 전환 플로우
1. 현재 작업 상태 확인
2. 필요시 변경사항 stash
3. 대상 브랜치로 전환
4. 원격 추적 브랜치 설정
### 브랜치 삭제 플로우
1. 병합 상태 확인
2. 원격 브랜치 존재 여부 확인
3. 안전 확인 후 삭제
## 브랜치 네이밍 규칙
### 권장 프리픽스
```
feature/ - 새로운 기능 개발
fix/ - 버그 수정
hotfix/ - 긴급 수정
docs/ - 문서화 작업
chore/ - 빌드, 설정 등 유지보수
refactor/ - 코드 리팩토링
test/ - 테스트 코드 작업
```
### 네이밍 패턴
```
✅ 좋은 예시:
feature/user-authentication
fix/login-validation-error
hotfix/security-patch
docs/api-documentation
❌ 피해야 할 예시:
feature-user-auth # 슬래시 사용
FEATURE/USER-AUTH # 대문자 사용
feature/user auth # 공백 사용
temp # 불명확한 이름
```
## 대화형 메뉴 옵션
브랜치명 없이 실행 시 표시되는 메뉴:
```
1. 📝 새 브랜치 생성
2. 🔄 브랜치 전환
3. 📋 브랜치 목록 보기
4. 🗑️ 브랜치 삭제
5. 🔄 원격 브랜치 동기화
6. 📊 브랜치 상태 확인
```
## 안전 기능
### 자동 백업
- 브랜치 전환 전 자동 stash 생성
- Stash 메시지에 이전 브랜치명 포함
- 작업 손실 방지를 위한 확인 프롬프트
### 충돌 방지
- 원격 브랜치와의 동기화 상태 확인
- 병합되지 않은 브랜치 삭제 시 경고
- 현재 브랜치에서의 미완료 작업 감지
### 복구 지원
- 실수로 삭제한 브랜치 복구 안내
- Stash 목록 및 복구 방법 제시
- 브랜치 히스토리 추적
## 사용 예시
### 새 기능 브랜치 생성
```
/git:branch feature/user-profile
```
### 버그 수정 브랜치 생성
```
/git:branch fix/authentication-error
```
### 대화형 모드 실행
```
/git:branch
```
## 통합 기능
### 다른 Git 커맨드와의 연계
- `/git:commit`과 연동한 커밋 워크플로우
- `/git:merge`와 연동한 병합 워크플로우
- `/git:pr`과 연동한 PR 생성 워크플로우
### GitHub CLI 통합
- 원격 브랜치 자동 설정
- Issue 번호 기반 브랜치 생성
- PR 생성 시 브랜치 정보 자동 연결
## 고급 옵션
### 브랜치 생성 옵션
- `--from-issue` : GitHub Issue에서 브랜치 생성
- `--track` : 원격 브랜치 추적 설정
- `--no-stash` : 자동 stash 비활성화
### 정리 옵션
- `--cleanup` : 병합된 브랜치 일괄 삭제
- `--prune` : 원격에서 삭제된 브랜치 정리
- `--dry-run` : 삭제 예상 결과 미리보기
## 문제 해결
### 자주 발생하는 문제
1. **브랜치 전환 실패** → uncommitted 변경사항 처리
2. **브랜치 삭제 거부** → 병합 상태 확인 필요
3. **원격 브랜치 추적 오류** → fetch 후 재시도
4. **브랜치명 규칙 위반** → 자동 제안 받아 수정
### 복구 방법
- 잘못 삭제한 브랜치: `git reflog`로 복구
- 손실된 변경사항: `git stash list`에서 복구
- 꼬인 브랜치 상태: `git reset`으로 초기화
이 커맨드는 Git 브랜치 관리의 모든 측면을 안전하고 효율적으로 처리합니다.