Git 跨多台不同的计算机管理主目录?

Git 跨多台不同的计算机管理主目录?,git,dvcs,configuration-management,Git,Dvcs,Configuration Management,所以我现在已经有了一个非常定制的点文件设置,我一直在寻找一个解决方案来保持机器之间的同步。我喜欢有一个~/dotfiles目录(或类似目录)的想法,它包含一个处理符号链接创建的makefile。通过rsync/unison/dvcs/whatever将dotfiles目录从一台机器移动到另一台机器,我就可以开始了 出现这种情况的原因是某些机器上的文件略有不同,我想找到一种方法来跟踪这种情况。例如,my.xmobarrc(不熟悉的面板应用程序)有一个配置设置,可以在笔记本电脑上显示电池寿命,但不能

所以我现在已经有了一个非常定制的点文件设置,我一直在寻找一个解决方案来保持机器之间的同步。我喜欢有一个~/dotfiles目录(或类似目录)的想法,它包含一个处理符号链接创建的makefile。通过rsync/unison/dvcs/whatever将dotfiles目录从一台机器移动到另一台机器,我就可以开始了

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

管理具有每台机器差异的文件的最佳方法是什么?例如,如果我在一台机器上更改了一些会影响所有机器的内容,我可以合并回去,如果我在一台不应该合并的机器上更改,则不会。显然,与rsync/unison/etc相比,像git这样的DVCS是必需的,但我不确定如何设置它


主分支,每台机器有一个分支,我从中前后合并/重新设置基础/挑选樱桃?这似乎有点乏味。有更好的方法吗?

一种方法是:

  • 具有所有全局参数的全局配置(如果您更改它并将其合并回来,它将影响所有计算机)
  • 每台机器一个配置文件(例如以机器uname命名)
  • 将最终配置文件构建为全局配置文件和基于机器的配置文件的组合的脚本
考虑合并:

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