클로드코드 08-checkpointing
1. Checkpointing
참고: Claude의 편집과 대화를 추적, 되감기, 요약하여 세션 상태를 관리하는 방법
1.1. Checkpoint 작동 방식
Claude Code는 작업 중 자동으로 파일 변경 사항을 추적한다. 이 안전망 덕분에 대규모 작업을 진행하다가도 언제든 이전 상태로 돌아갈 수 있다.
1.1.1. 자동 추적
- 모든 사용자 프롬프트마다 새 checkpoint가 생성된다.
- Checkpoint는 세션을 넘어 지속되므로, 재개된 대화에서도 접근할 수 있다.
- 기본적으로 30일 후 세션과 함께 자동 정리된다.
1.1.2. 되감기 및 요약
Esc를 두 번 누르거나 /rewind 명령어로 되감기 메뉴를 연다. 세션의 각 프롬프트가 스크롤 가능한 목록으로 표시된다. 원하는 시점을 선택한 뒤 다음 작업 중 하나를 선택한다.
- 작업: 설명
- Restore code and conversation: 코드와 대화 모두 해당 시점으로 되돌림
- Restore conversation: 해당 메시지로 대화를 되감기. 현재 코드는 유지
- Restore code: 파일 변경만 되돌림. 대화는 유지
- Summarize from here: 선택한 메시지부터 현재까지의 대화를 요약으로 압축
- Summarize up to here: 선택한 메시지 이전의 대화를 요약으로 압축. 이후 메시지는 그대로 유지
- Never mind: 변경 없이 메시지 목록으로 돌아감
1.1.2.1. Restore vs Summarize
- Restore: 상태를 되돌린다. 코드 변경, 대화 기록, 또는 둘 다 되돌릴 수 있다.
- Summarize: 대화의 일부를 AI 생성 요약으로 압축한다. 파일은 변경되지 않는다.
- Summarize from here: 선택 메시지 이전 내용은 그대로 두고, 선택 메시지와 이후를 요약으로 대체. 초기 지시사항은 상세히 유지하고, 나중의 부수적인 토론을 버릴 때 유용하다.
- Summarize up to here: 선택 메시지 이전을 요약으로 대체하고, 선택 메시지와 이후는 그대로 유지. 대화 마지막에 남게 된다. 초기 설정 토론을 압축하고 최근 작업을 상세히 유지할 때 유용하다.
참고: 요약된 메시지도 세션 기록에 보존되므로, Claude가 필요하면 원본 세부사항을 참조할 수 있다.
1.2. 일반적인 사용 사례
- 대안 탐색: 시작점을 잃지 않고 다양한 구현 방식을 시도
- 실수 복구: 버그를 도입하거나 기능을 망가뜨린 변경을 빠르게 되돌리기
- 기능 반복: 되돌릴 수 있다는 것을 알고 변형 실험하기
- 컨텍스트 공간 확보: 장황한 디버깅 세션의 중간부터 요약하여 초기 지시사항은 그대로 유지
1.3. 제한사항
1.3.1. Bash 명령어 변경 추적 불가
Checkpoint는 Bash 명령어로 수정된 파일은 추적하지 않는다.
rm file.txt
mv old.txt new.txt
cp source.txt dest.txt
위 변경사항은 되감기로 되돌릴 수 없다. Claude의 파일 편집 도구로 직접 편집한 파일만 추적된다.
1.3.2. 외부 변경 추적 불가
현재 세션 내에서 편집한 파일만 추적한다. Claude Code 외부에서 수동으로 변경한 파일이나 다른 동시 세션의 편집은 일반적으로 캡처되지 않는다.
1.3.3. 버전 관리의 대체재가 아님
Checkpoint는 빠른 세션 수준 복구용이다.
- Git은 여전히 커밋, 브랜치, 장기 히스토리에 사용한다.
- Checkpoint는 Git을 보완하지만 대체하지는 않는다.
- Checkpoint는 "로컬 undo"로 생각하고 Git은 "영구 히스토리"로 생각하라.

민형준 님의 최근 댓글
ㅋㅋㅋㅋㅋ 2019 01.14 잘 읽었습니다 2018 12.30 포인트가 없어서 아직 시작을 못하고있는데요! 글은 잘 읽었습니다! 포인트 쌓고 도전할거에요 2018 12.30