With git you can have anything versioned. You're used to version your code, which is a bunch of files. Your server configuration (on Linux) is also just a bunch of files, so it can be versioned as well.
The idea is simple: create a git repository in /etc/
and commit everytime you change any configuration of your server. Written in code:
cd /etc
git init
git add .