Claude Code, 자동 코드 백업 스크립트와 설정파일
Claude Code에서 코드 변경시마다 매번 변경상태를 자동으로 백업하는 설정을 공유드립니다.
Claude Code 자동 커밋 시스템
Claude Code에서 코드 변경사항을 자동으로 Git에 커밋하는 시스템입니다. 매번 코드가 수정될 때마다 자동으로 스냅샷을 생성하여 변경 내역을 추적할 수 있습니다.
🚀 주요 기능
- 자동 커밋: 코드 수정 시 자동으로 Git 커밋 생성
- 한국어 커밋 메시지: 이모지와 함께 한국어로 변경사항 기록
- 크로스 플랫폼 지원: Windows, macOS, Linux 모두 지원
- 간편한 히스토리 관리: 명령어를 통한 쉬운 로그 조회 및 되돌리기
📁 디렉토리 구조
autocommit_claude_code/
├── unix-like/ # macOS/Linux용 설정
│ ├── .claude/
│ │ ├── settings.json # Claude Code 설정
│ │ ├── commands/
│ │ │ ├── git-log.md # 스냅샷 조회 명령어
│ │ │ └── git-revert.md # 되돌리기 명령어
│ │ └── hooks/
│ │ └── auto-commit.sh # 자동 커밋 스크립트
│ ├── .gitignore
│ ├── .commit_message.txt
│ └── CLAUDE.md
└── windows/ # Windows용 설정
├── .claude/
│ ├── settings.json
│ ├── commands/
│ │ ├── git-log.md
│ │ └── git-revert.md
│ └── hooks/
│ └── auto-commit.ps1 # PowerShell 스크립트
├── .gitignore
├── .commit_message.txt
└── CLAUDE.md
🛠️ 설치 방법
1. 운영체제에 맞는 파일 선택
- macOS/Linux 사용자:
unix-like/
폴더의 내용 사용 - Windows 사용자:
windows/
폴더의 내용 사용
2. 기존 프로젝트에 적용
기존 Claude Code 프로젝트가 있다면:
CLAUDE.md 파일 업데이트: 기존
CLAUDE.md
파일에 다음 내용을 추가하거나 병합## Version Control * Whenever code changes are made, you must record a one-line description with emoji in korean of the change in `.commit_message.txt` with Edit Tool. - Read `.commit_message.txt` first, and then Edit. - Overwrite regardless of existing content. - If it was a git revert related operation, make the .commit_message.txt file empty.
settings.json 파일 업데이트: 기존
.claude/settings.json
파일에 다음 내용을 병합{ "permissions": { "allow": [ "Edit(.commit_message.txt)" ] }, "hooks": { "Stop": [ { "matcher": "Edit|MultiEdit|Write", "hooks": [ { "type": "command", "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/auto-commit.sh" // Linux/macOS // 또는 "command": "powershell.exe -NoProfile -ExecutionPolicy Bypass -Command \"$p = Join-Path $env:CLAUDE_PROJECT_DIR '.claude/hooks/auto-commit.ps1'; & $p\"" // Windows } ] } ] } }
나머지 파일들 복사:
.claude/commands/
,.claude/hooks/
,.gitignore
,.commit_message.txt
파일들을 프로젝트 루트에 복사
3. 새 프로젝트 설정
새 프로젝트라면 해당 OS 폴더의 모든 내용을 프로젝트 루트에 복사하면 됩니다.
🎯 사용 방법
1. Git 저장소 초기화
Claude Code 명령어 입력창에서:
git init
2. 자동 커밋 시스템 작동
이제 Claude Code가 파일을 수정할 때마다:
- 자동으로
.commit_message.txt
파일에 한국어 커밋 메시지가 기록됩니다 - Git에 변경사항이 자동으로 커밋됩니다
- 모든 수정 내역이 스냅샷으로 저장됩니다
3. 변경 내역 조회
/git-log
- 모든 커밋 히스토리를 시간순으로 볼 수 있습니다
- 각 커밋의 해시값과 메시지를 확인할 수 있습니다
4. 특정 시점으로 되돌리기
/git-revert <commit-hash>
<commit-hash>
는/git-log
에서 확인한 커밋 해시값- 해당 시점의 코드 상태로 되돌아갑니다
- 예:
/git-revert a1b2c3d
5. 되돌린 후 다시 최신으로
되돌린 후에도 다시 최신 상태로 돌아올 수 있습니다:
/git-log
로 최신 커밋 해시 확인/git-revert <최신-commit-hash>
로 다시 되돌리기
💡 작동 원리
- 파일 수정 감지: Claude Code가
Edit
,MultiEdit
,Write
도구를 사용할 때 - 메시지 생성: CLAUDE.md의 지침에 따라 한국어 이모지 커밋 메시지 생성
- 자동 커밋: 훅 스크립트가 실행되어 Git에 자동 커밋
- 스냅샷 저장: 모든 변경사항이 Git 히스토리에 기록
🔧 고급 설정
커밋 메시지 사용자 정의
.commit_message.txt
파일을 직접 수정하여 다음 커밋의 메시지를 지정할 수 있습니다.
특정 파일 제외
.gitignore
파일을 수정하여 특정 파일이나 폴더를 커밋에서 제외할 수 있습니다.
권한 설정
settings.json
의 permissions
섹션에서 Claude Code의 파일 접근 권한을 세밀하게 조정할 수 있습니다.
커밋 히스토리 확인
git log --oneline
이 시스템을 통해 Claude Code 작업 시 모든 변경사항을 체계적으로 관리하고, 필요할 때 언제든 이전 상태로 되돌아갈 수 있습니다.