Comment by _flux
22 days ago
Amazing that these tools don't maintain a replayable log of everything they've done.
Although git revert is not a destructive operation, so it's surprising that it caused any loss of data. Maybe they meant git reset --hard or something like that. Wild if Codec would run that.
I was looking at the insanity known as Gas Town [0] the other day, and it does use Git to store historical work state in something it calls "beads":
https://github.com/steveyegge/gastown?tab=readme-ov-file
If anyone is curious, Beads is an agent memory project from the same developer: https://github.com/steveyegge/beads
Bees?
BEADS
I have had codex recover things for me from its history after claude had done a git reset hard, codex is one of the more reliable models/harneses when it comes to performing undo and redo operations in my experience.
Claude Code has had this feature for a few months now.
I found this tool to be the solution I was looking for to address this specific problem:
https://contextify.sh
Claude Code has /rewind. Not sure if it is foolproof, but this has been tried.
Huh, I didn't realize this existed. I feel like it's a miss that Claude doesn't use it when you tell it to undo its work.
It doesn‘t handle anything Claude uses the shell for, so if it runs `rm -rf .` then rewind won’t help you.
You can give it approved commands, so you can prevent that.
Claude (can’t remember if was 4.1 Opus, 4.5 Sonnet, or 4.5 Opus) once just started playing with git worktrees and royally f-d up the local repo and lost several hours of work. Since then, I watch it like a hawk.
`git reset --hard` doesn't remove unreferenced commits or rewrite the reflog so I don't think that would do it. Something like `git reset && git gc` would have to be done.
And git gc doesn't collect any garbage less than two weeks old by default, either.
But it does remove current uncommitted changes.
Except for new files, you'd have to also run git clean -f