Nowadays I often set up a local git repository (not synced with github or a server) and make a commit every time I do something major. While this is triggered manually, it does handle the saving backups to the correct locations, keeping a history of what you have done, as well as restoring to an...