Make each code change a checked, reviewable step.
Recent revisions are kept. Restoring one creates a new revision.