Just a quick note to remind everyone that
git ~ or
svn, or whatever your favorite version control system may be ~ can handle so much more than just software repositories…
There’s a lot in those
/etc sub-directories and similar that control how all of your different services run and how they communicate with other systems. If you’re like me and are prone to making frequent tweaks or even bold, sweeping changes, it’s freeing to know that you can checkpoint your work, track changes, and keep those configurations backed up off the box ~ all without juggling
tar-file directory backups, or entire filesystem or virtual machine snapshots (assuming those are even an option in your deployment).
While many in the Big Leagues™ ~ those folks who tweak, destroy, and rebuild entire universes with click ~ have skipped over all of this with docker, ansible, vagrant, cloudbuilder, serverless services, and so forth there’s still quite a niche for the folks who are packing as many services as possible into small into small packages, where a “snapshot” might mean popping the microSD card out of a raspberry pi and imaging it 🙂 Basic git at the command line, preferably connected with a remote repository, is more than sufficient.
The standard caveat applies, of course: There’s undoubtedly sensitive information in those configurations, so be careful you don’t throw everything into some world-readable public place.
So, if you didn’t know, now you know. Give it a try! 🙂