Back to list
ssiumha

git-conflict

by ssiumha

dotfiles driven development

8🍴 0📅 Jan 21, 2026

SKILL.md


name: git-conflict description: Resolves Git conflicts (rebase, merge, cherry-pick, stash). Use when encountering merge conflicts during any Git operation.

Git Conflict

Git 작업 중 발생한 충돌을 해결합니다.

충돌 유형 감지

git status
메시지유형해결 명령
"rebase in progress"rebasegit rebase --continue
"merge in progress"mergegit merge --continue
"cherry-pick in progress"cherry-pickgit cherry-pick --continue
"Unmerged paths" (stash 후)stashgit stash drop (해결 후)

공통 워크플로우

1. 충돌 파일 목록

git diff --name-only --diff-filter=U

2. 충돌 마커 분석

각 파일을 Read하여 충돌 마커 확인:

<<<<<<< HEAD (또는 ours)
(현재 브랜치) ← 기본 우선
=======
(들어오는 변경)
>>>>>>> {commit/branch}

3. 해결 전략

자동 해결 가능:

상황해결
import/module 추가양쪽 다 유지 (병합)
같은 위치에 다른 코드 추가양쪽 다 유지
중복 import하나만 유지

사용자 확인 필요:

상황판단 방법
같은 위치 다른 수정git log로 각 변경 의도 확인
로직 변경 충돌양쪽 로직 병합 또는 최신 선택
삭제 vs 수정HEAD가 리팩토링이면 삭제
⚠️ 충돌 해결 확인: {파일명}

HEAD:
{HEAD 코드}

Incoming:
{incoming 코드}

[1] HEAD 유지 (권장)
[2] Incoming 유지
[3] 둘 다 병합
[4] 직접 수정

4. 충돌 마커 제거

Edit으로 충돌 마커 제거: <<<<<<<, =======, >>>>>>>

5. Staging

git add {충돌_해결된_파일들}

유형별 완료

Rebase

git rebase --continue

추가 충돌 발생 시 반복. 완료 후:

# force push 필요 (히스토리 변경됨)
git push --force-with-lease

Merge

git merge --continue
# 또는
git commit  # merge commit 생성

완료 후 일반 push.

Cherry-pick

git cherry-pick --continue

완료 후 일반 push.

Stash

# 충돌 해결 후 staging만 하면 됨
git add {파일들}

# stash 항목 제거
git stash drop

중단 옵션

작업을 취소하고 싶을 때:

유형중단 명령
rebasegit rebase --abort
mergegit merge --abort
cherry-pickgit cherry-pick --abort
stashgit checkout -- {files} + git stash drop

완료 확인

git status
git log --oneline -10
✅ 충돌 해결 완료

해결 내역:
1. {파일명} - {해결 방법}
2. ...

Examples

Rebase 충돌 (자동 해결)

User: "rebase 충돌 해결해줘" → git status → "rebase in progress" → 충돌 파일: src/index.ts (import 추가) → 자동 해결: 양쪽 import 모두 유지 → git add + git rebase --continuegit push --force-with-lease

Merge 충돌 (사용자 확인)

User: "merge 충돌 해결해줘" → git status → "merge in progress" → 충돌 파일: src/api.ts (로직 수정) → 사용자 확인: HEAD vs Incoming → Edit으로 병합 → git add + git commit

중단

User: "rebase 취소해줘" → git rebase --abort → 원래 브랜치 상태로 복구

주의사항

  • --force 대신 --force-with-lease 사용 (안전)
  • 충돌 해결 후 빌드/테스트 확인 권장
  • 복잡한 충돌은 사용자에게 확인 후 진행

Score

Total Score

55/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

1ヶ月以内に更新

+10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

+5

Reviews

💬

Reviews coming soon