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

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

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

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

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

最佳答案 一种方法是:

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

考虑合并:

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

点赞