跨多台机器管理主目录有一些差异吗?

时间:2009-05-30 23:38:31

标签: git dvcs configuration-management

此时我已经有了一个非常自定义的dotfiles设置,我一直在寻找一种解决方案来保持机器之间的同步。我喜欢使用包含处理符号链接创建的makefile的〜/ dotfiles目录(或类似)的想法。通过rsync / unison / dvcs / whatever将dotfiles目录从一台机器移动到另一台机器,我很高兴。

出现这种情况的问题是因为某些机器上的文件略有不同,我想要一种方法来跟踪它。例如,我的.xmobarrc(不熟悉的面板应用程序)具有配置设置,可以在我的笔记本电脑上显示电池寿命,但不能在我的桌面上显示。

使用这样的机器差异来管理文件的最佳方法是什么,这样如果我在一台机器上更改应该影响所有机器的东西,我可以合并回来,如果我在一台机器上更换不应该没有合并,它不会合并。显然,与rsync / unison / etc相比,像git这样的DVCS是必需的,但我不知道如何设置它。

每个机器有一个分支的主分支我合并/ rebase / cherry来回拣货?这看起来有点单调乏味。还有更好的方法吗?

1 个答案:

答案 0 :(得分:2)

一种方法是:

  • 包含所有全局参数的全局配置(如果您更改它并将其合并,则会影响所有计算机)
  • 每台机器一个配置文件(例如在机器uname之后命名)
  • 构建最终配置文件的脚本,作为全局配置文件和基于机器的配置文件的组合。

考虑合并:

  • 当您将配置文件从一个分支合并到另一个分支时,您可以合并所有内容(不涉及挑选)
  • 或者你并不总是必须为每台机器分支,因为基于机器的配置文件已经确保了这些参数的分离和隔离(在不同的文件而不是不同的分支中)