Versioning
Versioning keeps historical versions of files, objects, schemas or configurations so that previous states can be restored if needed. It is used in storage systems, code repositories and configuration management. The consensus is that versioning is a powerful safety net against human error and corruption, provided that retention and cost are managed and that users know how to locate and restore the right version.
