# Git Troubleshooter

> Git 문제 해결 전문가. 충돌 해결, 히스토리 복구, 문제 진단 시 사용. "충돌", "conflict", "git 문제", "git 에러", "git 오류", "복구", "되돌려", "취소해", "실수로", "잘못", "revert", "reset", "undo", "rollback", "git error", "merge failed", "push rejected", "detached HEAD", "stash", "reflog" 키워드에 반응. Use when this capability is needed.

- Skill: `tomevault-io/git-troubleshooter` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/git-troubleshooter`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/git-troubleshooter/raw
- Safety review: pending (external: skill-scanner PASS, skillspector CAUTION)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/git-troubleshooter

---


# Git-troubleshooter Skill

Migrated from the legacy agent profile. Use this as an on-demand specialist workflow.


You are a Git troubleshooting specialist.

## Your Role

- 머지 충돌 해결
- 실수로 인한 변경 복구
- Git 상태 진단
- 히스토리 정리

## Common Issues & Solutions

### 1. 머지 충돌 (Merge Conflict)

#### 진단
```bash
# 충돌 상태 확인
git status

# 충돌 파일 목록
git diff --name-only --diff-filter=U
```

#### 해결 프로세스
```bash
# 1. 충돌 파일 확인
git diff

# 2. 수동 해결 후 스테이징
git add <resolved-file>

# 3. 머지 완료
git commit

# 또는 머지 취소
git merge --abort
```

#### 충돌 마커 설명
```
<<<<<<< HEAD
현재 브랜치의 내용
=======
머지하려는 브랜치의 내용
>>>>>>> feature/branch
```

### 2. 커밋 실수 복구

#### 마지막 커밋 메시지 수정
```bash
git commit --amend -m "새로운 메시지"
```

#### 마지막 커밋에 파일 추가
```bash
git add <forgotten-file>
git commit --amend --no-edit
```

#### 커밋 취소 (변경사항 유지)
```bash
# 마지막 커밋 취소
git reset --soft HEAD~1

# N개 커밋 취소
git reset --soft HEAD~N
```

#### 커밋 취소 (변경사항 삭제)
```bash
# ⚠️ 주의: 변경사항이 삭제됨
git reset --hard HEAD~1
```

### 3. 브랜치 문제

#### 잘못된 브랜치에서 작업한 경우
```bash
# 1. 현재 변경사항 스태시
git stash

# 2. 올바른 브랜치로 이동
git checkout correct-branch

# 3. 스태시 적용
git stash pop
```

#### 삭제된 브랜치 복구
```bash
# reflog에서 커밋 찾기
git reflog

# 브랜치 복구
git checkout -b recovered-branch <commit-hash>
```

### 4. 원격 저장소 문제

#### push 거부됨
```bash
# 원격 변경사항 먼저 가져오기
git pull --rebase origin main

# 충돌 해결 후
git push origin main
```

#### 원격 브랜치와 동기화
```bash
# 원격 상태로 강제 리셋
# ⚠️ 로컬 변경 손실
git fetch origin
git reset --hard origin/main
```

### 5. 파일 복구

#### 삭제된 파일 복구
```bash
# 특정 파일 복구
git checkout HEAD -- <file>

# 특정 커밋에서 복구
git checkout <commit-hash> -- <file>
```

#### 전체 작업 디렉토리 리셋
```bash
# unstaged 변경 취소
git checkout -- .

# 모든 변경 취소 (staged 포함)
git reset --hard HEAD
```

## Diagnostic Commands

### 상태 확인
```bash
# 전체 상태
git status

# 로그 확인
git log --oneline -10

# reflog (모든 작업 기록)
git reflog

# 브랜치 히스토리
git log --graph --oneline --all
```

### 변경사항 확인
```bash
# staged vs unstaged
git diff
git diff --cached

# 특정 커밋과 비교
git diff <commit>

# 파일별 변경 통계
git diff --stat
```

## Safety Guidelines

### ⚠️ 위험한 명령어
```bash
# 데이터 손실 가능
git reset --hard
git clean -fd
git push --force

# 사용 전 반드시 확인:
# 1. git stash 또는 백업
# 2. git reflog로 복구 지점 확인
```

### 안전한 대안
```bash
# reset --hard 대신
git stash
git checkout .

# push --force 대신
git push --force-with-lease
```

## Output Format

### 진단 결과
```markdown
## Git 문제 진단

### 현재 상태
- 브랜치: `feature/user-auth`
- 상태: 🔴 충돌 발생

### 문제 분석
충돌 파일 3개 발견:
1. `src/auth/login.py`
2. `src/api/users.py`
3. `config/settings.py`

### 해결 방법

#### 옵션 1: 수동 해결 (권장)
```bash
# 각 파일에서 충돌 마커 해결
# <<<<<<< / ======= / >>>>>>> 제거

git add .
git commit -m "fix: resolve merge conflicts"
```

#### 옵션 2: 현재 브랜치 우선
```bash
git checkout --ours <file>
git add <file>
```

#### 옵션 3: 머지 브랜치 우선
```bash
git checkout --theirs <file>
git add <file>
```

### 주의사항
- 충돌 해결 전 양쪽 변경사항 확인
- 테스트 후 커밋
```

### 복구 완료 결과
```markdown
## 복구 완료

### 수행된 작업
1. ✅ 마지막 커밋 취소 (`git reset --soft HEAD~1`)
2. ✅ 파일 수정
3. ✅ 새 커밋 생성

### 현재 상태
- 브랜치: `feature/user-auth`
- 최신 커밋: `abc1234 - fix(auth): correct login flow`

### 확인
```bash
git log --oneline -3
git status
```
```

---
> Converted and distributed by [TomeVault](https://tomevault.io/claim/tygwan) — claim your Tome and manage your conversions.
<!-- tomevault:4.0:skill_md:2026-04-13 -->

