Logo
본문으로 이동
중급8분 소요checkpointingstaterecovery

읽는 시간: 8분 | 난이도: 중급자

체크포인팅은 Claude Code가 파일 편집을 자동으로 추적하여 언제든지 이전 상태로 돌아갈 수 있게 해주는 안전망입니다. 야심찬 대규모 작업도 이전 코드 상태로 언제든지 돌아갈 수 있다는 것을 알면서 안심하고 진행할 수 있습니다.

체크포인팅 작동 방식

Claude와 함께 작업하면서 체크포인팅은 각 편집 이전의 코드 상태를 자동으로 캡처합니다.

자동 추적

Claude Code는 파일 편집 도구로 수행한 모든 변경 사항을 추적합니다:

  • 모든 사용자 프롬프트가 새 체크포인트를 생성합니다 - 메시지를 보낼 때마다 현재 코드 상태가 저장됩니다
  • 체크포인트는 세션 간에 유지됩니다 - 재개된 대화에서도 접근할 수 있습니다
  • 30일 후 자동 정리됩니다 (설정 가능)

되감기 및 요약

Esc를 두 번 (Esc + Esc) 누르거나 /rewind 명령을 사용하면 되감기 메뉴가 열립니다. 세션의 각 프롬프트를 보여주는 스크롤 가능한 목록이 표시됩니다. 되돌아가고 싶은 지점을 선택한 후 작업을 선택합니다:

작업 설명
코드와 대화 복원 코드와 대화를 모두 해당 지점으로 되돌림
대화 복원 현재 코드는 유지하면서 해당 메시지로 대화를 되감음
코드 복원 대화는 유지하면서 파일 변경 사항을 되돌림
여기서부터 요약 이 지점부터 이후 대화를 요약으로 압축하여 컨텍스트 창 공간 확보
취소 변경 없이 메시지 목록으로 돌아가기

대화나 요약을 복원한 후에는 선택한 메시지의 원래 프롬프트가 입력 필드에 복원되어 다시 보내거나 편집할 수 있습니다.

복원 vs. 요약

복원 옵션

세 가지 복원 옵션은 상태를 되돌립니다:

  • 코드와 대화 복원: 코드 변경 사항, 대화 기록, 또는 둘 다 취소
  • 마치 선택한 프롬프트를 보낸 직전 상태로 시간을 되돌리는 것과 같음

요약 옵션

"여기서부터 요약"은 다르게 작동합니다:

  • 선택한 메시지 이전 메시지는 그대로 유지됩니다
  • 선택한 메시지와 이후 모든 메시지는 AI가 생성한 간결한 요약으로 교체됩니다
  • 디스크의 파일은 변경되지 않습니다
  • 원래 메시지는 세션 트랜스크립트에 보존됩니다 - 필요하면 Claude가 세부 사항을 참조할 수 있음

이것은 /compact와 유사하지만 더 정밀합니다. 전체 대화를 요약하는 대신, 초기 컨텍스트는 전체 세부 사항으로 유지하고 공간을 차지하는 부분만 압축합니다. 요약이 무엇에 집중할지 안내하는 선택적 지시사항을 입력할 수 있습니다.

: 요약은 같은 세션에 머물면서 컨텍스트를 압축합니다. 원래 세션을 그대로 보존하면서 다른 접근 방식을 시도하려면 포크를 사용하세요 (claude --continue --fork-session).

실제 사용 사례

대안 탐색

서로 다른 구현 접근 방식을 시도할 때 체크포인팅이 특히 유용합니다:

# 1단계: 기능 구현 요청 (체크포인트 1 생성)
"사용자 인증 기능을 JWT로 구현해줘"

# 2단계: Claude가 코드를 작성함

# 3단계: 다른 접근 방식 시도
"세션 기반으로 다시 구현해볼 수 있어?"

# 마음에 들지 않으면 Esc+Esc로 되감기 메뉴 열기
# "코드 복원"을 선택해 JWT 버전으로 돌아가기

실수에서 빠르게 복구

버그를 도입하거나 기능을 망가뜨린 변경 사항을 빠르게 취소합니다:

# 리팩토링 중에 무언가 잘못됨
# Esc+Esc → "코드와 대화 복원" → 리팩토링 전 지점 선택

장황한 디버깅 세션 정리

긴 디버깅 과정으로 컨텍스트 창이 가득 찬 경우:

# /rewind 열기
# 디버깅 시작 지점 선택
# "여기서부터 요약" 선택
# 초기 지시사항은 온전히 유지, 디버깅 과정은 요약됨

기능 반복 작업

작업 상태로 되돌릴 수 있다는 것을 알면서 변형을 실험합니다:

# 현재 작동하는 상태에서 프롬프트 제출 (체크포인트 생성)
# 새로운 기능 추가 시도
# 마음에 들지 않으면 간단히 이전 상태로 복원

제한 사항

Bash 명령어 변경 사항은 추적되지 않음

체크포인팅은 bash 명령어로 수정된 파일을 추적하지 않습니다. 예를 들어, Claude Code가 다음을 실행하면:

rm file.txt
mv old.txt new.txt
cp source.txt dest.txt

이러한 파일 수정은 되감기로 취소할 수 없습니다. Claude의 파일 편집 도구를 통해 직접 수행된 파일 편집만 추적됩니다.

이는 실질적인 영향을 미칩니다:

  • Claude가 bash 스크립트를 실행하여 파일을 생성하면 → 추적되지 않음
  • Claude가 Write/Edit 도구로 파일을 수정하면 → 추적됨
  • Claude가 npm install을 실행하면 → 추적되지 않음

외부 변경 사항은 추적되지 않음

체크포인팅은 현재 세션 내에서 편집된 파일만 추적합니다. Claude Code 외부에서 수동으로 변경한 내용과 다른 동시 세션의 편집은 일반적으로 캡처되지 않습니다 (같은 세션에서 수정한 파일을 변경하는 경우 제외).

버전 관리를 대체하지 않음

체크포인팅은 빠른 세션 수준 복구를 위해 설계되었습니다. 영구적인 버전 기록과 협업을 위해서는:

  • 커밋, 브랜치, 장기 기록에 버전 관리(Git)를 계속 사용하세요
  • 체크포인트는 적절한 버전 관리를 보완하지만 대체하지는 않습니다
  • 체크포인트를 "로컬 실행 취소"로, Git을 "영구 기록"으로 생각하세요
체크포인트: 빠른 실험 및 세션 내 실수 복구
Git: 의미 있는 변경 사항의 영구 기록

실전 팁

언제 /rewind vs Esc+Esc를 사용하나

두 방법 모두 동일한 메뉴를 엽니다. 터미널에서 더 편한 방법을 사용하세요:

  • Esc+Esc: 키보드를 손에서 떼지 않고 빠르게 접근
  • /rewind: 모든 터미널 환경에서 작동하는 더 명시적인 방법

대화와 코드를 개별적으로 복원하는 경우

  • 코드만 복원: 대화를 유지하면서 코드 실험이 잘못됐을 때. Claude가 문맥을 기억하지만 코드 변경은 취소됨
  • 대화만 복원: 코드는 유지하지만 대화 방향을 바꾸고 싶을 때
  • 둘 다 복원: 완전한 되감기가 필요할 때

컨텍스트 창 효율적으로 관리하기

장시간 작업 시 컨텍스트가 가득 찰 수 있습니다. 요약 기능으로 효율적으로 관리하세요:

  1. 핵심 지시사항이 있는 초기 부분은 유지
  2. 장황한 디버깅이나 탐색 부분을 선택
  3. "여기서부터 요약"으로 공간 확보
  4. 초기 컨텍스트를 손상시키지 않고 계속 작업

다음 단계

체크포인팅을 이해했다면 다음을 살펴보세요:

관련 가이드

체크포인팅 (작업 저장) | Claude Code 가이드 | GodDaeHee | GodDaeHee