Git, finally: life after FINAL_v3.zip
Version control isn't a backup strategy. It's a time machine with a witness statement. Notes from a month of thinking in branches.
Confession: until this year, my version control was a folder of zip files. project_backup_FINAL.zip, project_backup_FINAL_v2.zip, and the unforgettable project_FINAL_use_this_one.zip. It worked, in the way that crossing a road blindfolded works right up until it doesn't. In June, it didn't — I overwrote three days of changes with a stale copy, and there was no getting them back.
So: git, properly this time
I'd bounced off git before — the terminology is hostile to outsiders, and the SVN users in the forums made it sound like an academic exercise. What made it stick this time was forcing myself through one real project with the command line only. No GUI, no safety net, until add, commit, branch and merge stopped being incantations and became verbs I could think in.
What changed, practically
- Fearless experiments. A branch costs nothing. I tried a risky refactor last week that old me would never have attempted — because deleting the branch afterwards deletes the risk.
- Commit messages became a diary. Six months from now, "fix fee voucher rounding for scholarship students" will save some future version of me an afternoon. That future me is my most important collaborator.
- The client-work workflow finally makes sense — a branch per change request means I can hotfix production without shipping half-finished features along with it.
Version control isn't a backup strategy. It's a time machine with a witness statement.
I've put my current project on this GitHub site everyone mentions, mostly as an offsite backup. The zip folder is still on my external drive — I'm not sentimental enough to delete it, and not foolish enough to trust it again.