Reversibility, by design.
Every action in undo.sh produces an inverse. Save points are cheap, regret is cheaper, and there is always a way back. The shell remembers, so you don't have to.
$ undo.sh
Initializing reversal engine...
[OK] Ready to undo anything.
A patient, friendly toolkit for reversing what ought never to have been committed.
Every action in undo.sh produces an inverse. Save points are cheap, regret is cheaper, and there is always a way back. The shell remembers, so you don't have to.
Each command writes a delta to the journal. Reversal is a single seek.
Plays nicely with your existing workflow. No hooks, no surprises.
$ undo.sh --scope staged # reverted 3 files # 0 conflicts
No traceback walls. Just clear, kind suggestions.
tip
Looks like you tried to undo without a save point. Run undo.sh --init first.
Two-step destructive actions. A confirm prompt is friendlier than a regret.
217KB. Zero deps.
217KB
$ curl -sSL get.undo.sh | sh # installs to ~/.local/bin $ undo.sh --init # save point created
“Code is grown, not written. Pruning is half the work.”