Objetivo del tema
Entender cómo Gemini CLI crea puntos de control automáticos antes de ejecutar herramientas que modifican archivos, y cómo restaurar el proyecto a un estado anterior cuando algo no sale según lo esperado.
Seguimos las pautas de la documentación oficial (Checkpointing) para conocer rutas, comandos y buenas prácticas.
Cuando Gemini CLI prepara una acción potencialmente destructiva (por ejemplo, escribir en un archivo o ejecutar un script que modifica el repositorio), crea un checkpoint que captura:
El objetivo es que puedas revertir cambios sin perder el hilo de la sesión. Los checkpoints se almacenan en un directorio temporal dentro de ~/.gemini/tmp/
(Linux/macOS) o %USERPROFILE%\.gemini\tmp\
(Windows), organizados por hash del proyecto.
Elemento | Contenido |
---|---|
Archivos | Copia de los archivos antes de aplicar la herramienta (por ejemplo, write_file o run_shell_command ). |
Conversación | Historial del chat y prompts relevantes. |
Metadata | Nombre del archivo, herramienta asociada y timestamp (YYYY-MM-DDTHH-MM-SSZ-archivo-tool ). |
El checkpointing trabaja junto a los checkpoints manuales (
/chat save
) pero se enfoca en proteger tu repositorio delante de operaciones automáticas.
En la configuración actual el checkpointing automático viene habilitado por defecto cuando el CLI detecta una herramienta sensible. Aun así, conviene conocer los controles disponibles:
settings.json
puedes ajustar general.checkpointing.enabled
.--checkpointing
permiten reforzar el comportamiento en ejecuciones headless.Por ejemplo, si el agente va a modificar app.js
, verás un mensaje similar a:
Checkpoint guardado en ~/.gemini/tmp/9a1f3c/app.js-write_file/
Los checkpoints están pensados como salvaguarda rápida; no reemplazan sistemas de versionado como Git. Aun así, son muy útiles para revertir cambios experimentales sin abandonar la sesión.
Para volver al estado previo, utiliza el comando /restore
seguido del nombre del checkpoint. Puedes copiarlo de la ruta que apareció en el mensaje o consultar los directorios dentro de tmp
.
/restore 2025-06-22T10-00-00_000Z-my-file.txt-write_file
Al ejecutar /restore
:
Si quieres listar los checkpoints disponibles antes de restaurar, recorre el directorio ~/.gemini/tmp/<hash>
. Cada carpeta contiene subdirectorios con los nombres descriptores y los archivos de backup.
--prompt
o pipelines CI/CD, habilita --checkpointing
para mantener snapshots entre cada paso.Ventajas clave:
~/.gemini/tmp
. Borra manualmente los que ya no necesites para liberar espacio.git status
para entender su alcance antes de continuar.Conclusión: el checkpointing de Gemini CLI actúa como un seguro instantáneo frente a cambios inesperados. Saber dónde se guardan los snapshots, cómo restaurarlos y cómo combinarlos con tus flujos de trabajo te permite experimentar con confianza.