체크포인트
Gemini CLI에는 AI 기반 도구에 의해 파일이 수정되기 전에 프로젝트 상태의 스냅샷을 자동으로 저장하는 체크포인트 기능이 포함되어 있습니다. 이를 통해 코드 변경 사항을 안전하게 실험하고 적용할 수 있으며, 도구가 실행되기 전의 상태로 즉시 되돌릴 수 있습니다.
작동 방식
write_file 또는 replace와 같이 파일 시스템을 수정하는 도구를 승인하면 CLI는 자동으로
"체크포인트"를 생성합니다. 이 체크포인트에는 다음이 포함됩니다:
- Git 스냅샷: 홈 디렉터리(
~/.gemini/history/<project_hash>)에 있는 특별한 섀도우 Git 저장소에 커밋이 생성됩니다. 이 스냅샷은 해당 순간의 프로젝트 파일 전체 상태를 캡처합니다. 이는 사용자 프로젝트의 Git 저장소를 방해하지 않습니다. - 대화 기록: 해당 시점까지 에이전트와 나눈 전체 대화가 저장됩니다.
- 도구 호출: 실행되려던 특정 도구 호출도 저장됩니다.
변경을 취소하거나 단순히 되돌아가고 싶다면 /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 명령을 사용합니다.
사용 가능한 체크포인트 목록 보기
현재 프로젝트에 저장된 모든 체크포인트 목록을 보려면 다음을 실행하세요:
/restoreCLI는 사용 가능한 체크포인트 파일 목록을 표시합니다. 이 파일 이름은 일반적으로
타임스탬프, 수정되는 파일 이름, 실행되려던 도구 이름으로 구성됩니다 (예:
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명령을 실행하면 파일과 대화가 체크포인트가 생성된 당시의 상태로 즉시 복원되고, 원래 도구 프롬프트가 다시 나타납니다.