Yes, I know - lots of advice after the fact. But one common reminder from Tech Support days was to have people make “versions” as they were developing. When I’d hear they were just “backing up”, I’d ask, "So, you are wiping out your last good copy with one you hope is good. Even in a productions environment, I’d write procedures so each daily backup went into its own Day (Mon, Tues, Wed, Thurs, Fri) folder. That way, a problem on Wednesday would not wipe out the good data from Tuesday.
I know there are all these “automatic” processes, like Time Machine. But I’m old, and old school. I like to take care of it myself. So as I reach each increment of development, I save a database1, database2, etc. I mean these days we have terabytes - right. By old school, I mean the days when, if you had the new 10MB hard drive, you were King of the Lab.
So we’ve come a long way. And I’m sure Time Machine works great; is very reliable. But I like to decide my own increments; my own previous state of goodness.