The program etckeeper
keeps track of setting changes in the /etc
directory, using a source code repository like git or bzr. So it really tracks the actual changes of config files. It commits changes automatically when installing packets, for example.
See man etckeeper
It's easy to set up - not much more than apt-get install etckeeper
and optionally editing /etc/etckeeper/etckeeper.conf
to select git
instead of the default bazaar
as version control "backend" - see this answer: Kevin Bowen on: "Is there an application to manage config files in the /etc folder with version control software?"
In theory, you could actually manage all your configuration files in a source code repository.
In practice, that is more tedious than it sounds - I would not recommend it as a general solution.
The question whether to use Canonicals bazaar (bzr
) or Linus's git
as repository backend is not really important;
You do not interact much with the repository in normal operation, and if you need to, like for tracking down a config problem, you'll need only basic vcs features, easy to look up.
If you are familiar to one of them more than the other (or plan to get familiar), choose it.
One can discuss the question a long time in the style of the editor war of vi and emacs; for
the basics see Is it easier to manage code with GIT or Bazaar? - Google will keep you stocked with ammunition of your preferred side.
One objective reason to choose git is working in a software related field; I would expect more git to be used, or migrated to; so it's a useful skill to have worked with it a little.