Make every change in such a way that it can easily be reverted.
Not all changes are amenable to this approach, either in software or in life.
The process, if not the fact, of making a change in a revert-able fashion results in a better-designed change than would have been arrived at if an irreversible change were accepted.
There is a distinct lack of git commit --revert
in life
for some (if not the most) significant subset of commitments.
You can undo joining a book club.