기술 · 실용 가이드
Git “index file corrupt”: 삭제 전에 어떤 인덱스가 고장 났는지 증명하세요
staging index, linked worktree index, split/sparse index와 pack .idx는 서로 다른 고장입니다. 읽을 수 있는 staged ledger를 보존하고 실제 경로를 확인한 뒤 해당 class만 재구성하고 object와 재발을 검증하세요.

staging index, linked worktree index, split/sparse index와 pack .idx는 서로 다른 고장입니다. 읽을 수 있는 staged ledger를 보존하고 실제 경로를 확인한 뒤 해당 class만 재구성하고 object와 재발을 검증하세요.
worktree index는 staged entry를 기록하며 object database와 별개입니다. .git은 실제 gitdir을 가리키는 file일 수 있어 .git/index가 항상 맞지는 않습니다.
1. 정확한 error path와 staged evidence를 보존하세요
전체 error, directory, command, 시각을 저장합니다. index가 읽히면 git diff --cached --binary와 git ls-files --stage를 내보내고 reset 전에 해당 file을 복사합니다. staged version은 working tree와 같지 않을 수 있습니다.
rm -f .git/index부터 하지 마세요. 다른 worktree index나 objects/pack/*.idx가 문제라면 잘못된 수정이며 staged intent 증거도 지웁니다.
2. 실제 gitdir, worktree, index identity를 확인하세요
같은 shell과 환경에서 git rev-parse --show-toplevel, --git-dir, --git-common-dir, --git-path index를 실행합니다. .git file redirect와 linked worktree private state를 기록합니다.
GIT_DIR, GIT_WORK_TREE, GIT_INDEX_FILE도 저장합니다. error path와 resolved index가 다르면 일반 worktree-index 절차를 멈추고 named file을 분류합니다.
3. worktree, split/sparse와 pack index를 분류하세요
일반 index는 staging ledger입니다. split index는 sharedindex.<hash>를 더하고 sparse checkout은 skip-worktree bit와 sparse index를 사용할 수 있습니다. 설정과 git sparse-checkout list를 보존하세요.
objects/pack의 .idx는 pack object index입니다. staging index를 지워도 고쳐지지 않습니다. pack pair를 보호하고 object store를 검증한 뒤 object recovery 또는 fresh clone을 선택합니다.
4. 증명된 index class만 재구성하세요
손상된 worktree index임을 증명한 뒤 file을 지우지 말고 옮긴 후 올바른 worktree에서 git reset --mixed로 HEAD에서 재구성합니다. file은 남지만 staged state가 지워지므로 보존한 증거로 복원합니다.
split/sparse에서는 base index가 읽힌 뒤 지원되는 sparse-checkout 설정을 복원하고 reapply합니다. status만 통과시키려고 sharedindex를 지우거나 sparse를 끄지 마세요.
5. object, staged intent와 같은 환경 재발을 검증하세요
git status, git diff, git diff --cached와 git fsck --full로 commit, tree, blob, 새 file, staged-only hunk를 확인합니다.
같은 filesystem, worktree, sandbox에서 원래 status, checkout 또는 CI를 반복합니다. 재발하면 storage, 비정상 종료, 동시 writer, antivirus, overlay를 조사합니다.
