0

我在家庭办公室进行开发,团队的其他成员在现场。目前我的环境是使用数据库的本地副本设置的,因此只要我将所有连接字符串从以下内容更改为一切正常:

data source=server\instance

至:

data source=.

问题是每次本地合并后,我都必须对一堆文件重新应用相同的更改。

我的目标是找出是否有一种很好的方法可以利用 Git 功能来合并来自修订的更改,以便轻松地重新应用这些更改。

作为第一步,我只对我的配置文件所做的更改提交到我的本地副本。我的第一个想法是我可以 Cherry-Pick 提交来取回我的本地更改,但现在我正在查看它,但我不确定如何继续。

有没有人用 Git 解决过这样的配置问题,如果有,你是怎么做到的?

我认为我所追求的功能本质上是“暂时将一组更改合并到一组文件,然后恢复它们”。

4

1 回答 1

2

虽然我个人更喜欢将配置信息与要应用该配置的代码完全分开,但现有的解决方案可用于在移动目标之上维护补丁系列。guilt是流行的补丁管理系统 Quilt 的基于 git 的类似工作。

我同意的规范响应是:不要提交配置文件,提交配置文件的模板

就个人而言,我更喜欢这个咒语的略微修改版本:

  • 不要提交配置文件,提交与配置文件本身格式相同的默认值。
  • 以这样一种方式构建您的应用程序,即默认值可以被一个文件覆盖,该文件仅指定那些不同意默认值的设置。这允许随着时间的推移指定其他默认值,而不会由于本地配置的存在而被忽略。这给出了实际与默认值合并的一些(但不是全部)好处。
  • 永远记住,“不要在代码旁边提交配置”并不意味着“不要版本化你的配置文件”——你可以单独对它们进行版本化。始终构建您的应用程序,以便可以将“秘密”信息与配置分开存储,以仅允许最小的子集进行非版本化。
于 2012-09-17T21:08:49.620 回答