All servers should have their configuration saved into version control somewhere. Many people use Puppet or Chef to manage their configuration. That is a little more power than I need for a few home servers, so I use git. I'm very familiar with it, and it works great. If I make a change and it breaks something, I can just rollback the changes to a known working state. This article outlines a basic way to host your configuration files on BitBucket, which provides unlimited free, private repositories. You could also host them on your own server, but this was much easier for me. I create one repository per server (or set of servers).
To follow this article, please sign up for a BitBucket account and create a repository.
First, we need to create SSH keys to save to BitBucket for authentication. You can skip the second line if you already created SSH keys.
Now we need to install git, and create a folder to save all our configurations in. We'll do this by symlinking the files we're using to a folder as root.
Now that we have the repository set up, let's add our first file. I'm going to add my NFS exports file. You'll need to do this for each file. You can commit separately, or symlink all the files then do the commits at the end.
Finally, to help myself remember to commit, I am adding a reminder to my bashrc. Every time I log in as root, I will receive a message if there are uncommited files my git directory.