This will probably be done by caching code before changes in a dot folder before overwriting a file, and restoring it from the cache later