In reply to M.

@M, well, you should start to use git. If it is actually on the live site or just an off site repository it doesn't matter, the important thing is that there is some history of your code that will help you remember why everything is like it is when you will need to do some extra work next year.

But the issue is not mitigated by being able to upload an old version.... big chages like this usually include changes in the DB structure, and the old version will probably not be able to work with them. This is why a backup is essential, and setting up a proper testing enviroment is even better.