I would be completely hopeless if it came to buying a new SD card and setting it all up again....I was wondering about some good ways to prevent this loss of knowledge
Keeping a whole system backup doesn't really address this last problem (that you don't really understand/remember what you've done). IMO there is something that is inescapable with serious technical work, you will waste a lot of time and screw more things up if you do not learn to:
KEEP NOTES
And take it seriously. I like using dropbox for this as it is accessible one way or another locally on all the systems I work on (mostly by sshfs mounting a directory from a server running the dropbox daemon), but I'm not here to sell dropbox, merely the point that you have to make it easy and do it universally. Don't use paper, or if you do, copy them out later.
The better my notes are, the more I use them, and the more I use them, the more I am motivated to keep them and make them better.
Use directories to categorize, you can search plain text quickly and easily, the more you do it the more refined your technique will become; I actually use markdown (same format used in the editor here) and that server with the dropbox daemon also runs an HTTP server which formats them live.
The point about that is to make them useful and use them; the other system I use are shell macros to do text searches places where the notes are locally available.
notes rpi SEARCH vcgencmd
Searches the top level "rpi" directory for notes containing vcgencmd
. Similarly, notes rpi vcgencmd EDIT
brings up an editor contain [notes top level]/rpi/vcgencmd.md
, creating it if necessary.
I've been doing this for years and I use them constantly -- as much as I consult man pages or Stack Overflow questions. I find notes on stuff I didn't think I'd done before, lol, and I know the kind of things I get perplexed by and how to explain them to myself.