I find it odd that telling codex to undo a change becomes a token-heavy process of examination, context referencing and reasoning when I'm used to `git checkout ...` etc. How have you handled reverting LLM generated code changes you have yet to commit? Or better yet, what is your git flow like for vibe coding?