Claude Code, 자동 코드 백업 스크립트와 설정파일

Claude Code에서 코드 변경시마다 매번 변경상태를 자동으로 백업하는 설정을 공유드립니다.

autocommit_claude_code.zip

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 프로젝트가 있다면:

  1. 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.
    
  2. 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
              }
            ]
          }
        ]
      }
    }
    
  3. 나머지 파일들 복사: .claude/commands/, .claude/hooks/, .gitignore, .commit_message.txt 파일들을 프로젝트 루트에 복사

3. 새 프로젝트 설정

새 프로젝트라면 해당 OS 폴더의 모든 내용을 프로젝트 루트에 복사하면 됩니다.

🎯 사용 방법

1. Git 저장소 초기화

Claude Code 명령어 입력창에서:

git init

2. 자동 커밋 시스템 작동

이제 Claude Code가 파일을 수정할 때마다:

  1. 자동으로 .commit_message.txt 파일에 한국어 커밋 메시지가 기록됩니다
  2. Git에 변경사항이 자동으로 커밋됩니다
  3. 모든 수정 내역이 스냅샷으로 저장됩니다

3. 변경 내역 조회

/git-log
  • 모든 커밋 히스토리를 시간순으로 볼 수 있습니다
  • 각 커밋의 해시값과 메시지를 확인할 수 있습니다

4. 특정 시점으로 되돌리기

/git-revert <commit-hash>
  • <commit-hash>/git-log에서 확인한 커밋 해시값
  • 해당 시점의 코드 상태로 되돌아갑니다
  • 예: /git-revert a1b2c3d

5. 되돌린 후 다시 최신으로

되돌린 후에도 다시 최신 상태로 돌아올 수 있습니다:

  1. /git-log로 최신 커밋 해시 확인
  2. /git-revert <최신-commit-hash>로 다시 되돌리기

💡 작동 원리

  1. 파일 수정 감지: Claude Code가 Edit, MultiEdit, Write 도구를 사용할 때
  2. 메시지 생성: CLAUDE.md의 지침에 따라 한국어 이모지 커밋 메시지 생성
  3. 자동 커밋: 훅 스크립트가 실행되어 Git에 자동 커밋
  4. 스냅샷 저장: 모든 변경사항이 Git 히스토리에 기록

🔧 고급 설정

커밋 메시지 사용자 정의

.commit_message.txt 파일을 직접 수정하여 다음 커밋의 메시지를 지정할 수 있습니다.

특정 파일 제외

.gitignore 파일을 수정하여 특정 파일이나 폴더를 커밋에서 제외할 수 있습니다.

권한 설정

settings.jsonpermissions 섹션에서 Claude Code의 파일 접근 권한을 세밀하게 조정할 수 있습니다.

커밋 히스토리 확인

git log --oneline

이 시스템을 통해 Claude Code 작업 시 모든 변경사항을 체계적으로 관리하고, 필요할 때 언제든 이전 상태로 되돌아갈 수 있습니다.