Back to Skills

git-advanced

verified

인터랙티브 리베이싱(interactive rebasing), 충돌 해결, 히스토리 조작, 버그 추적을 위한 bisect, cherry-picking, reflog 복구 및 브랜치 관리 전략을 포함한 고급 Git 작업 및 워크플로우입니다. 사용 사례: (1) 인터랙티브 리베이싱 및 커밋 정리, (2) 복잡한 머지 충돌 해결, (3) 버그 추적을 위한 Git bisect, (4) 히스토리 재작성 및 정리, (5) 브랜치 전략 구현 (Git Flow, trunk-based), (6) reflog를 이용한 유실된 커밋 복구

View on GitHub

Marketplace

icartsh-marketplace

icartsh/icartsh_plugin

Plugin

icartsh-plugin

Repository

icartsh/icartsh_plugin
1stars

icartsh-plugin/skills/git-advanced/SKILL.md

Last Verified

January 20, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/icartsh/icartsh_plugin/blob/main/icartsh-plugin/skills/git-advanced/SKILL.md -a claude-code --skill git-advanced

Installation paths:

Claude
.claude/skills/git-advanced/
Powered by add-skill CLI

Instructions

# Advanced Git Operations

## 개요 (Overview)

복잡한 버전 관리 시나리오를 위한 고급 Git 워크플로우를 마스터하세요. 이 SKILL은 기본적인 커밋과 머지를 넘어 인터랙티브 리베이싱, 고급 충돌 해결, 히스토리 조작 및 전략적 브랜치 관리를 포함한 정교한 작업들을 다룹니다.

다음을 수행할 때 이 SKILL을 사용하세요:
- 코드 리뷰 전 지저분한 커밋 히스토리 정리
- 복잡한 머지 충돌의 전략적 해결
- 이진 탐색(bisect)을 통한 버그 추적
- 유실된 커밋 복구 또는 실수 되돌리기
- 팀 브랜치 전략 구현
- 안전한 히스토리 재작성

## 핵심 역량 (Core Capabilities)

### 인터랙티브 리베이싱 (Interactive Rebasing)
- 논리적 히스토리를 위한 커밋 순서 재배치
- 여러 커밋을 하나로 합치기 (Squash)
- 과거 커밋 메시지 수정
- 커밋을 더 작은 조각으로 분리
- 히스토리에서 원치 않는 커밋 제거

### 충돌 해결 (Conflict Resolution)
- 전략적인 머지 충돌 처리
- 3-way 머지 이해 및 활용
- Ours vs. Theirs 전략 선택
- 충돌 마커 해석
- 충돌 중 파일의 부분적 스테이징(staging)

### Git Bisect
- 버그가 도입된 지점을 찾기 위한 이진 탐색
- 스크립트를 이용한 자동 bisect
- Good/Bad 커밋 식별
- 회귀(regressions) 버그의 효율적인 디버깅

### 히스토리 조작 (History Manipulation)
- 안전한 커밋 수정 (Amend)
- Filter-branch 작업
- 대용량 파일을 위한 BFG Repo-Cleaner 활용
- 주의 깊은 히스토리 재작성
- 작성자 정보 및 날짜 보존

### 브랜치 전략 (Branch Strategies)
- Git Flow 워크플로우
- Trunk-based 개발
- Feature 브랜치 워크플로우
- 릴리스(Release) 브랜치 관리
- 핫픽스(Hotfix) 절차

## 빠른 명령 참조 (Quick Command Reference)

### 인터랙티브 리베이즈 (Interactive Rebase)
```bash
# 최근 5개 커밋을 인터랙티브하게 리베이즈
git rebase -i HEAD~5

# main 브랜치를 대상으로 리베이즈
git rebase -i main

# 충돌 해결 후 계속 진행
git rebase --continue

# 중단하고 원래 상태로 복구
git rebase --abort
```

### 충돌 해결 (Conflict Resolution)
```bash
# '우리 것'(현재 브랜치) 선택
git checkout --ours <file>

# '그들 것'(들어오는 브랜치) 선택
git checkout --theirs <file>

# 충돌 발생 파일 목록 확인
git diff --name-only --diff-filter=U

# 해결됨으로 표시
git add <file>
```

### Git Bisect
```bash
# bisect 세션 시작
git bisect start
git bisect bad
git bisect good <commit-hash>

# 테스트 스크립트로 자동화
git bisect run ./test-script.sh

# bisect 세션 종료
git bisect reset
```

### Cherry-Pick
```bash
# 특정 커밋 적용
git cherry-pick <commit-hash>

# 커밋하지 않고 cherry-pick (스테이징만 수행)
git cherry-pick -n <commit-hash>

# 커밋 범위 cherry-pick
git cherry-pick A^..B
```

### Reflog 복구 (Reflog Recovery)
```bash
# reflog 히스토리 확인
git reflog

# 유실된 커밋 복구
git checkout -b recovery <commit-hash>

# 이전 상태로 리셋
git reset 

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
8400 chars