Docs
고급 기능
체크포인트

체크포인트

Gemini CLI에는 AI 기반 도구에 의해 파일이 수정되기 전에 프로젝트 상태의 스냅샷을 자동으로 저장하는 체크포인트 기능이 포함되어 있습니다. 이를 통해 코드 변경 사항을 안전하게 실험하고 적용할 수 있으며, 도구가 실행되기 전의 상태로 즉시 되돌릴 수 있습니다.

작동 방식

write_file 또는 replace와 같이 파일 시스템을 수정하는 도구를 승인하면 CLI는 자동으로 "체크포인트"를 생성합니다. 이 체크포인트에는 다음이 포함됩니다:

  1. Git 스냅샷: 홈 디렉터리(~/.gemini/history/<project_hash>)에 있는 특별한 섀도우 Git 저장소에 커밋이 생성됩니다. 이 스냅샷은 해당 순간의 프로젝트 파일 전체 상태를 캡처합니다. 이는 사용자 프로젝트의 Git 저장소를 방해하지 않습니다.
  2. 대화 기록: 해당 시점까지 에이전트와 나눈 전체 대화가 저장됩니다.
  3. 도구 호출: 실행되려던 특정 도구 호출도 저장됩니다.

변경을 취소하거나 단순히 되돌아가고 싶다면 /restore 명령을 사용할 수 있습니다. 체크포인트를 복원하면 다음 작업이 수행됩니다:

  • 프로젝트의 모든 파일을 스냅샷에 캡처된 상태로 되돌립니다.
  • CLI의 대화 기록을 복원합니다.
  • 원래 도구 호출을 다시 제안하여 다시 실행하거나, 수정하거나, 무시할 수 있게 합니다.

Git 스냅샷과 대화 기록을 포함한 모든 체크포인트 데이터는 로컬 머신에 저장됩니다. Git 스냅샷은 섀도우 저장소에 저장되며, 대화 기록과 도구 호출은 일반적으로 ~/.gemini/tmp/<project_hash>/checkpoints에 위치한 프로젝트의 임시 디렉터리에 JSON 파일로 저장됩니다.

기능 활성화

체크포인트 기능은 기본적으로 비활성화되어 있습니다. 활성화하려면 settings.json 파일을 편집해야 합니다.

참고: --checkpointing 명령줄 플래그는 0.11.0 버전에서 제거되었습니다. 이제 체크포인트는 settings.json 구성 파일을 통해서만 활성화할 수 있습니다.

settings.json에 다음 키를 추가하세요:

{
  "general": {
    "checkpointing": {
      "enabled": true
    }
  }
}

/restore 명령 사용

활성화되면 체크포인트가 자동으로 생성됩니다. 이를 관리하려면 /restore 명령을 사용합니다.

사용 가능한 체크포인트 목록 보기

현재 프로젝트에 저장된 모든 체크포인트 목록을 보려면 다음을 실행하세요:

/restore

CLI는 사용 가능한 체크포인트 파일 목록을 표시합니다. 이 파일 이름은 일반적으로 타임스탬프, 수정되는 파일 이름, 실행되려던 도구 이름으로 구성됩니다 (예: 2025-06-22T10-00-00_000Z-my-file.txt-write_file).

특정 체크포인트 복원

프로젝트를 특정 체크포인트로 복원하려면 목록의 체크포인트 파일을 사용하세요:

/restore <checkpoint_file>

예:

/restore 2025-06-22T10-00-00_000Z-my-file.txt-write_file

명령을 실행하면 파일과 대화가 체크포인트가 생성된 당시의 상태로 즉시 복원되고, 원래 도구 프롬프트가 다시 나타납니다.