Git 안전망 (git-safety-net)
잃어버린 커밋·브랜치·스태시를 복구하고, 정말 병합됐는지 내용 기준으로 증명한 뒤 안전하게 정리해주는 Git 포렌식 스킬.
개발·코딩중급★ 1,323⑂ 212AI 점수 9/10마지막 업데이트: 2026. 8. 8.
무엇을 해주나
- 복구(Mode A):
git reflog→git fsck --dangling순서로 사라진 커밋·브랜치·스태시를 찾아 새rescue/브랜치로 살려냅니다. - 점검 & 보존(Mode B): 머신 전체에서 같은 저장소의 다른 체크아웃(별도
git clone포함)을 찾아내고, 각 체크아웃별로 미푸시 커밋·더티 워크트리·스태시·dangling 커밋을 감사합니다. 위험한 건 ref 고정, 패치 추출, untracked 파일 단순 복사로 먼저 보존합니다. - 병합 검증(Mode C): "173 commits ahead" 같은 커밋 수 착시를 무시하고
git merge-tree시험 병합으로 내용이 실제로 base에 들어갔는지 판정합니다. - 예방(Mode D): stash·두 번째 clone 대신 "커밋 후 전환", WIP 브랜치 조기 푸시, 공유 트리에서
reset --hard대신git branch -f사용 등 사고를 막는 습관. - 안전 폐기(Mode E): 워크트리·스태시·브랜치·독립 클론을 근거(patch content, superset 비교, 심볼 존재 확인)로 폐기 여부를 판단하고 백업 존재를 확인한 뒤에만 삭제합니다.
동봉 스크립트 5개(git_find_all_checkouts.sh, git_loss_audit.sh, git_preserve_danglers.sh, git_verify_branch_merged.sh, git_export_before_drop.sh)는 삭제·리셋·푸시를 하지 않는 읽기/추가 전용입니다.
이런 분께 추천
- 리베이스·스쿼시 머지 후 "내 작업 어디 갔지?" 상황을 겪어본 개발자
- 오래된 브랜치·스태시·워크트리가 잔뜩 쌓여 정리하고 싶지만 뭘 지워도 되는지 확신이 없는 분
- 여러 에이전트/세션이 같은 작업 트리를 공유하는 환경에서 일하는 분
- 팀 저장소를 "main 하나로 수렴"시키기 전에 손실 없음을 증명해야 하는 리드
활용 예시
- "방금
git reset --hard했는데 커밋이 사라졌어" → reflog에서 잃어버린 HEAD 위치를 찾아git switch -c rescue/feature <sha>로 복구. - "이 오래된 clone 폴더 지워도 돼?" → 전체 체크아웃 스캔 → untracked 파일 실제 복사 +
uncommitted.diff+ 번들 생성/검증 → 백업 파일 존재 확인 후에만rm -rf. - "이 브랜치들 다 머지됐지? 지워도 되지?" → 커밋 수 대신
merge-tree시험 병합으로 브랜치별 MERGED/UNMERGED 판정, 미증명 항목은 남겨두고 리뷰 요청.
· · · 설치 가이드 · · ·
설치 없이 지금 한 번 써보기
아래를 Claude에 붙여넣으면 설치하지 않고도 이 스킬을 그대로 씁니다.
이 파일의 지시를 읽고 그대로 따라서 나를 도와줘: https://raw.githubusercontent.com/daymade/claude-code-skills/HEAD/git-safety-net/SKILL.md 내가 원하는 것: (여기에 하고 싶은 일을 쓰세요)
Claude가 링크를 열지 못하면, 링크를 직접 열어 내용을 복사해 붙여넣으세요.
↓ 쓸 만하면 아래에서 ZIP을 받아 설치하세요. 그러면 매번 붙여넣지 않아도 알아서 작동합니다.
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 /tmp/claude-code-skills && mkdir -p ~/.claude/skills && cp -r /tmp/claude-code-skills/git-safety-net ~/.claude/skills/⚠ 제3자가 만든 스킬입니다. 설치 전 원본 저장소를 한 번 확인하세요.
- 터미널을 열고 저장소를 임시 폴더로 내려받습니다:
git clone https://github.com/daymade/claude-code-skills.git /tmp/claude-code-skills - 스킬 폴더가 없다면 만듭니다:
mkdir -p ~/.claude/skills - 이 스킬만 복사합니다:
cp -r /tmp/claude-code-skills/git-safety-net ~/.claude/skills/ - 스크립트에 실행 권한을 줍니다:
chmod +x ~/.claude/skills/git-safety-net/scripts/*.sh - Claude Code를 재시작한 뒤, 점검하려는 Git 저장소 루트에서 "작업이 유실됐는지 확인해줘" 또는 "이 브랜치 지워도 되는지 검증해줘"라고 말하면 스킬이 발동합니다.
- 처음에는 읽기 전용인 Mode B(감사)부터 실행하고, 삭제 단계(Mode E)는 백업 검증 출력을 직접 확인한 뒤에만 승인하세요.
GitHub에서 원본 보기 ↗라이선스: MIT