소개
프로젝트 작업 중 갑자기 모든 변경사항이 사라진 경험이 있으신가요? Claude Code 사용 중 10분마다 git reset –hard origin/main이 자동으로 실행되어 코드가 초기화되는 문제가 보고되고 있습니다. 이 현상은 개발자에게 치명적인 데이터 손실을 초래할 수 있습니다. 본 기사에서는 이 문제의 원인과 효과적인 해결 방법을详细介绍해드리겠습니다.
문제 현상 이해
Claude Code가 자동으로 git reset –hard origin/main 명령을 실행하는 현상은 특정条件下에서 발생합니다. 주요 증상은 다음과 같습니다:
- 작업 중인 파일이 갑자기 원격 저장소 상태로 복원됨 - 저장되지 않은 변경사항이 유실됨 - 약 10분 간격으로 반복적으로 발생 - IDE 내에 별도의 경고 메시지 없이 실행됨
이 문제는 특히 긴밀한 협업 환경에서 치명적입니다. 팀원과의 코드 병합 과정에서 의도치 않은 초기화가 발생할 수 있으며, 수 시간에 걸친 작업이 순식간에 사라질 수 있습니다.
원인 분석
이 문제의 주요 원인은 다음과 같습니다:
**1. Claude Code의 자동 동기화 기능** Claude Code는 프로젝트 상태를 원격 저장소와 자동으로 동기화하려는 기능을 갖추고 있습니다. 일부 설정에서 이 기능이 과도하게 활성화되어 10분마다 강제 동기화를 시도합니다.
**2. 잘못된 Git Hook 설정**
프로젝트 저장소에 잘못된 pre-commit 또는 post-commit hook이 설정되어 있을 수 있습니다. 이 hook이 Claude Code의 명령어 실행을トリ거하여 reset 명령을 수행합니다.
**3. 설정 파일 오류** Claude Code의 구성 파일에서 잘못된 옵션이 활성화되어 있을 경우, 의도치 않은 Git 명령이 주기적으로 실행됩니다.
현재 Git 상태 확인
git status
git log --oneline -5
Hook 설정 확인
cat .git/hooks/pre-commit
cat .git/hooks/post-commit
해결 방법
1. Claude Code 설정 확인
Claude Code 설정 파일을 점검하고 불필요한 자동 동기화 옵션을 비활성화합니다:
{
"git": {
"autoSync": false,
"autoReset": false,
"syncInterval": 0
}
}
2. Git Hook 제거
문제가 되는 hook을 찾아 제거합니다:
모든 hook 제거
rm -f .git/hooks/pre-commit
rm -f .git/hooks/post-commit
또는 hook 내용 확인 후 필요한 부분만 수정
nano .git/hooks/pre-commit
3. 브랜치 보호 설정
보호된 브랜치에서 강제 reset을 방지하려면:
```bash