52. 체크포인팅
편집 되감기·대안 탐색·실수 복구 등 체크포인트 활용 가이드
체크포인팅
Claude의 편집과 대화를 추적, 되감기, 요약하여 세션 상태를 관리합니다.
Claude Code는 작업하는 동안 Claude의 파일 편집을 자동으로 추적하여, 문제가 발생했을 때 빠르게 변경 사항을 되돌리고 이전 상태로 되감을 수 있습니다.
체크포인트 작동 방식
Claude와 작업하는 동안 체크포인팅은 각 편집 전에 코드 상태를 자동으로 캡처합니다. 이 안전장치 덕분에 언제든 이전 코드 상태로 돌아갈 수 있다는 확신을 가지고 대규모 작업을 진행할 수 있습니다.
자동 추적
Claude Code는 파일 편집 도구를 통해 수행된 모든 변경 사항을 추적합니다:
- 모든 사용자 프롬프트가 새로운 체크포인트를 생성합니다
- 체크포인트는 세션 간에 유지되므로, 재개된 대화에서도 접근할 수 있습니다
- 세션과 함께 30일 후 자동으로 정리됩니다 (설정 가능)
되감기와 요약
Esc를 두 번 누르거나 (Esc + Esc) /rewind 명령을 사용하여 되감기 메뉴를 엽니다. 스크롤 가능한 목록에 세션의 각 프롬프트가 표시됩니다. 작업할 지점을 선택한 다음 동작을 선택합니다:
- Restore code and conversation: 해당 지점으로 코드와 대화를 모두 되돌립니다
- Restore conversation: 현재 코드를 유지하면서 해당 메시지로 대화를 되감습니다
- Restore code: 대화를 유지하면서 파일 변경 사항을 되돌립니다
- Summarize from here: 이 지점부터의 대화를 요약으로 압축하여 컨텍스트 윈도우 공간을 확보합니다
- Never mind: 변경 없이 메시지 목록으로 돌아갑니다
대화를 복원하거나 요약한 후, 선택한 메시지의 원래 프롬프트가 입력 필드에 복원되어 다시 전송하거나 편집할 수 있습니다.
복원 vs. 요약
세 가지 복원 옵션은 상태를 되돌립니다: 코드 변경, 대화 기록, 또는 둘 다를 취소합니다. "Summarize from here"는 다르게 작동합니다:
- 선택한 메시지 이전의 메시지는 그대로 유지됩니다
- 선택한 메시지와 그 이후의 모든 메시지가 AI가 생성한 간결한 요약으로 대체됩니다
- 디스크의 파일은 변경되지 않습니다
- 원본 메시지는 세션 트랜스크립트에 보존되어, 필요시 Claude가 세부 사항을 참조할 수 있습니다
이는 /compact와 유사하지만 타겟팅된 방식입니다: 전체 대화를 요약하는 대신, 초반 컨텍스트는 전체 세부 사항을 유지하고 공간을 차지하는 부분만 압축합니다. 요약이 집중할 내용을 안내하는 선택적 지시사항을 입력할 수 있습니다.
참고: 요약은 같은 세션에 머물면서 컨텍스트를 압축합니다. 원래 세션을 그대로 보존하면서 다른 접근 방식을 시도하고 싶다면, fork를 대신 사용하세요 (
claude --continue --fork-session).
일반적인 사용 사례
체크포인트는 다음과 같은 경우에 특히 유용합니다:
- 대안 탐색: 시작 지점을 잃지 않고 다양한 구현 접근 방식을 시도합니다
- 실수 복구: 버그를 도입하거나 기능을 깨뜨린 변경 사항을 빠르게 되돌립니다
- 기능 반복 개발: 작동하는 상태로 되돌릴 수 있다는 확신을 가지고 다양한 변형을 실험합니다
- 컨텍스트 공간 확보: 중간 지점부터 장황한 디버깅 세션을 요약하여 초기 지시사항은 그대로 유지합니다
제한 사항
Bash 명령 변경은 추적되지 않음
체크포인팅은 bash 명령으로 수정된 파일을 추적하지 않습니다. 예를 들어, Claude Code가 다음을 실행하는 경우:
rm file.txt
mv old.txt new.txt
cp source.txt dest.txt
이러한 파일 수정은 되감기를 통해 취소할 수 없습니다. Claude의 파일 편집 도구를 통해 수행된 직접적인 파일 편집만 추적됩니다.
외부 변경은 추적되지 않음
체크포인팅은 현재 세션에서 편집된 파일만 추적합니다. Claude Code 외부에서 수동으로 수행한 변경 사항과 다른 동시 세션의 편집은 현재 세션과 동일한 파일을 수정하는 경우가 아니면 일반적으로 캡처되지 않습니다.
버전 관리를 대체하지 않음
체크포인트는 빠른 세션 수준의 복구를 위해 설계되었습니다. 영구적인 버전 기록과 협업을 위해서는:
- 커밋, 브랜치, 장기 기록을 위해 버전 관리 시스템(예: Git)을 계속 사용하세요
- 체크포인트는 적절한 버전 관리를 보완하지만 대체하지는 않습니다
- 체크포인트는 "로컬 실행 취소"로, Git은 "영구 기록"으로 생각하세요