如何合并Git中先前提交的更改(或实现相同的结果)?

时间:2012-09-17 20:48:08

标签: git

我正在从家庭办公室发展,团队的其他成员都在现场。目前我的环境是使用数据库的本地副本设置的,这样一切正常,只要我改变所有连接字符串:

data source=server\instance

要:

data source=.

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

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

作为第一步,我向本地副本提交了对配置文件的更改。我的第一个想法是,我可以将Cherry-Pick承诺恢复我的本地更改,但现在我正在查看它,我不确定如何继续。

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

我认为我所追求的功能主要是“暂时将一组更改合并到一组文件中,然后将其还原”。

1 个答案:

答案 0 :(得分:2)

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

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

就个人而言,我更喜欢这个口头禅的略微修改版本:

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