Snapshots
Un snapshot es un guardado local de tu árbol de trabajo que no es un commit. No entra nunca en tu historia, no llega nunca a un remoto, y existe para que la siguiente operación arriesgada sea reversible.
Tomar uno y restaurarlo
torii snapshot create -n "before-refactor"
torii snapshot list
torii snapshot restore <id>
torii snapshot delete <id>Los snapshots viven en <gitdir>/torii/snapshots, dentro de .git. Esa ubicación es deliberada: antes estaban junto al árbol de trabajo, donde add_all los barría hacia dentro de un commit — un repositorio acabó con un commit de 681 MB y un push que no terminaba. Dentro de .git, el indexado no puede alcanzarlos.
Stash, pero reversible
torii snapshot stash # set the working tree aside
torii snapshot stash -u # include untracked files
torii snapshot unstash
torii snapshot unstash <id> --keep # apply it and keep the snapshotFallo conocido: snapshot stash a veces informa de éxito sin guardar. Hasta que se arregle, snapshot create -n "wip" es el camino fiable.
Deshacer
torii snapshot undoRevierte la última operación de torii que tomó un snapshot. Eso cubre casi toda la superficie destructiva: resets duros, rebases, todas las reescrituras de torii history y eliminar un worktree.
Snapshots automáticos
torii config set snapshot.auto_enabled true
torii config set snapshot.auto_interval_minutes 30El intervalo también se puede fijar por repositorio en .torii/auto-interval, que viaja con el proyecto en vez de con tu máquina.
Cuando el reflog no basta
Un snapshot cubre el árbol de trabajo. Para objetos que se commitearon y luego quedaron huérfanos —una rama borrada, un rebase abandonado, una entrada de reflog caducada— la base de datos de objetos aún los tiene hasta que se empaqueta:
torii history orphans # walk unreachable objects
torii history compact # pack and expire; run this only when you are sureEjecuta orphans antes de compact, no después.