인터랙티브 리베이싱(interactive rebasing), 충돌 해결, 히스토리 조작, 버그 추적을 위한 bisect, cherry-picking, reflog 복구 및 브랜치 관리 전략을 포함한 고급 Git 작업 및 워크플로우입니다. 사용 사례: (1) 인터랙티브 리베이싱 및 커밋 정리, (2) 복잡한 머지 충돌 해결, (3) 버그 추적을 위한 Git bisect, (4) 히스토리 재작성 및 정리, (5) 브랜치 전략 구현 (Git Flow, trunk-based), (6) reflog를 이용한 유실된 커밋 복구
View on GitHubicartsh/icartsh_plugin
icartsh-plugin
January 20, 2026
Select agents to install to:
npx add-skill https://github.com/icartsh/icartsh_plugin/blob/main/icartsh-plugin/skills/git-advanced/SKILL.md -a claude-code --skill git-advancedInstallation paths:
.claude/skills/git-advanced/# 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