【发布时间】:2012-11-20 08:41:20
【问题描述】:
我正在寻找一种智能方法来管理对 php.ini 和 httpd.conf 等配置文件的更改,这些更改都是我自己进行的,以及由它们所属软件的版本更新强制执行的更改。
现在的工作流程是这样的:
- 新鲜系统
- 编辑ini文件
- 安装新的软件版本或操作系统
- 手动将我自己的 ini 文件与新的新 ini 文件合并(无聊!)
难道不能为此使用版本控制吗?为软件开发人员创建一个分支,为我创建一个分支,并使用 merging 优雅地将他们的更改与我的更改合并,从而导致我们都更改了某些内容的冲突?
我想知道是否有人可以提出使用 git 的好方法的具体示例。或者其他更好的方式来优雅地做到这一点。
(我还有一个名为 ~/ln/ 的文件夹,我在其中符号链接到我在 UNIX 中编辑的所有不同的 ini 文件,因为它们出现在完全不同的位置。这样它们也会自动备份。它会是如果版本控制系统可以考虑到这一点,那就太好了)。
【问题讨论】:
-
多么优秀的想法!目前,像 debconf 这样的包管理系统提供的对版本控制的较差近似还不够好:要么您没有更改 conf 文件,在这种情况下,debconf 会继续安装包中的新文件;否则你有,在这种情况下,debconf 会让你手动合并/解决所有问题。为了实现这一点,我认为您必须发布一个标准供所有人遵循,并将对它的支持集成到 debconf 等工具中。
-
顺便说一句,我认为 git 可能不适合这个,因为这确实应该逐个文件管理,而 git 有通常每个包含许多文件的存储库。一大堆 git 存储库,每个都包含一个配置文件可能有点笨拙?普通的 RCS 可能更适合。