2012-01-13 135 views
1

我在想从方法论上记录我在设置新工作站(运行Mac OS X Lion)时所做的所有重要工作的特定用例。什么是一个好的版本控制系统用来版本化我的整个本地文件系统?

我想版本控制,在同一个存储库,文件,这些文件在我的文件系统上的完全不同的地方,例如文件/etc~//Libraries

的几点思考/细节上我要求:

  • 本回购仅供个人使用。我将使用GUI客户端浏览我的设置历史记录。
  • 我最初想要使用Git,托管在一个大的Github私有存储库中,但是因为您不能像SVN那样克隆子文件夹,所以我必须在任何地方创建符号链接,这似乎并不方便。
  • 那么,我想更好地建立一个本地的SVN服务器,只需检查我想要的文件,当我想要版本?

回答

1

您可以使用Mercurial,Git,...,然后简单地忽略所有不想版本的文件。在根中创建存储库并跟踪其余部分。等(水银):

$ cd/
$ hg init 
$ echo ".*" > .hgignore 
$ echo '^(?!(etc|Libraries))' > .hgignore 
$ hg add 
$ hg commit -m "initial checkin" 

一种替代方法是使用更专门的工具,例如etckeeper被用于跟踪配置数据作出。

+0

如果说我在'/'上创建了一个git repo,那么与那些可能使用git进行版本化的子文件夹不会有冲突吗? – 2012-01-13 12:16:48

+0

恩,是的。 Git和Mercurial都可以避免跟踪嵌套存储库中的文件。我可以看到跟踪'/ home'是如何跟踪这种技术的,但它可以让你跟踪配置文件和liberies。 – 2012-01-13 12:24:20

+0

你能解释为什么跟踪'/ home'会成为一个问题吗? – 2012-01-13 15:58:26