Git 안전망 (Git Safety Net)
잃어버린 커밋·브랜치·스태시를 복구하고, 삭제해도 안전한지 내용 기준으로 증명해주는 Git 포렌식 스킬입니다.
개발·코딩중급★ 1,323⑂ 212AI 점수 9/10마지막 업데이트: 2026. 8. 8.
무엇을 해주나
- 복구(Mode A):
git reflog→git fsck --dangling순서로 사라진 커밋·브랜치·스태시를 찾아 새 브랜치(rescue/...)로 안전하게 되살립니다. 기존 작업 위에reset을 하지 않습니다. - 감사 및 보존(Mode B): 머신 전체에서 같은 저장소의 모든 체크아웃(연결 워크트리는 물론, 어떤 git 명령에도 보이지 않는 독립 클론까지)을 찾아내고, 각 체크아웃별로 미푸시 커밋·더티 파일·스태시·dangling 커밋을 집계합니다. 위험 항목은
refs/dangling-backup/에 고정하고 패치·번들·untracked 파일 복사로 3중 백업합니다. - 머지 검증(Mode C): "173 커밋 앞서 있음" 같은 커밋 수 착시(스쿼시 머지 후유증)에 속지 않도록
git merge-tree기반 시험 머지로 내용 포함 여부를 판정합니다. - 예방(Mode D): stash/두 번째 clone 대신 '커밋 후 전환' 습관, 공유 워크트리에서
reset --hard대신git branch -f사용 등 실제 사고에서 도출된 규칙을 안내합니다. - 안전한 정리(Mode E): 스태시·워크트리·브랜치·클론을 '대체되었음'이 증명된 항목만 백업 검증 후 제거합니다.
이런 분께 추천
- 리베이스·스쿼시 머지·강제 푸시 중 작업이 사라진 것 같아 불안한 개발자
- 브랜치·스태시·워크트리가 수십 개 쌓여 무엇을 지워도 되는지 모르는 분
- 여러 AI 에이전트나 팀원이 같은 저장소를 병렬로 만지는 환경의 담당자
- 릴리스 전 "정말 전부 main에 들어갔는가"를 근거 있게 증명해야 하는 리드/리뷰어
활용 예시
- "어제 만든 커밋이 사라졌어요" → reflog 상위 40줄에서 SHA를 찾고
git show로 확인한 뒤rescue/lost-feature브랜치로 복구. - "이 clone 디렉터리 지워도 되나요?" →
git_find_all_checkouts.sh로 형제 클론을 탐지 → 그 안의 untracked 440줄 파일을 발견해 백업 후에야 삭제 승인. - "오래된 브랜치 30개 정리하고 main 하나만 남기기" → 브랜치별
git_verify_branch_merged.sh로 MERGED(content contained)를 확인, 증명되지 않은 것은 남기고 나머지만git branch -d.
· · · 설치 가이드 · · ·
Claude 앱에 설치 (터미널 필요 없음)
- 아래 버튼으로 ZIP 파일을 받으세요.
- Claude 설정 → Capabilities에서 '코드 실행 및 파일 생성'을 켭니다. (한 번만)
- Claude에서 Customize → Skills → + → '스킬 업로드'를 누르고 받은 ZIP을 올립니다.
Claude Code에 설치
Claude에게 맡기기 — 아래 문장을 Claude Code에 붙여넣으세요
클로드스킬마트에서 찾은 스킬을 설치해줘. GitHub 저장소 daymade/claude-code-skills 의 git-safety-net 폴더를 내 ~/.claude/skills/git-safety-net/ 에 그대로 복사해줘. 설치가 끝나면 이 스킬로 무엇을 할 수 있는지 한 줄로 알려줘.
직접 명령으로 설치하기
git clone https://github.com/daymade/claude-code-skills.git && mkdir -p ~/.claude/skills && cp -r claude-code-skills/git-safety-net ~/.claude/skills/⚠ 제3자가 만든 스킬입니다. 설치 전 원본 저장소를 한 번 확인하세요.
- 터미널을 열고 홈 디렉터리 등 작업하기 편한 위치로 이동합니다:
cd ~ - 저장소를 복제합니다:
git clone https://github.com/daymade/claude-code-skills.git - Claude 스킬 폴더를 만듭니다:
mkdir -p ~/.claude/skills - 스킬을 복사합니다:
cp -r claude-code-skills/git-safety-net ~/.claude/skills/ - 스크립트에 실행 권한을 부여합니다:
chmod +x ~/.claude/skills/git-safety-net/scripts/*.sh - 점검할 Git 저장소 루트에서 Claude Code를 실행하고 "커밋을 잃어버린 것 같아, git-safety-net으로 확인해줘"처럼 요청합니다.
- 처음에는 Mode B(감사)부터 시작하세요. 감사와 보존 명령은 모두 비파괴적이라 안심하고 실행할 수 있습니다.
- 삭제(Mode E)를 진행할 때는 백업 파일이 실제로 생성되었는지 직접 확인한 뒤 승인하세요.
GitHub에서 원본 보기 ↗라이선스: MIT