Something that may help you in the future – I make a collection (known as layers before 2.8 came along) and name it “Spares” . Then whenever I think I am going to make a big , destructive change to an object , I duplicate it , suffix it’s name with _spare and move it to the spares collection (that I keep hidden in the 3dvp) . That way if I ever need to go back , or I don’t like what i’ve done , I can bring back the spare copy and try again without having to model the object from scratch.
This method has saved me so many times, and when I finish the modelling stage , I delete the spares collection to give me a clean copy of the file without any un-necessary extra objects cluttering it up.
As Kent also says , incremental saving means you will always have an earlier iteration of your project to go back to if really needed. I always keep 5 incremental saves active and delete the oldest one as I save a new one to conserve file space on my SSD.