分支:用于发布/开发的不同配置文件

rob*_*trv 31 git branch config

我继承了一个项目,我们正在使用git.我们有许多环境(开发,测试,产品).前一个团队基本上使用相同的帐户,密码,sid等在每个实例上重新创建了所有内容.唯一改变的是/ etc/hosts中的主机名映射.这样它就可以连接到不同的数据库服务器.

现在,这会产生一个问题,因为我不能,例如复制一个模式,以便开发人员可以使用与主开发服务器相同的数据库实例来运行实验.我基本上必须在另一台主机上创建一个新的数据库实例,并将/ etc/hosts更改为指向该新服务器.

虽然这是目前的工作设置,但我正在尝试找到一种方法来为每个实例维护不同的配置文件.即:applicationConfig.xml取决于分支的不同版本.我猜想有人可能会认为在repo中保留数据库凭证并不是一个好主意,但让我们暂时忽略它.

另一种可能需要具有不同版本文件的情况可能是调试.假设我正在使用javascript记录器框架,并且我添加了我不希望随生产版本发布的调试代码.我不想在开发/测试时添加记录器内容,然后在发布之前再次将其删除.人们可能会忘记这样做.

处理不同分支的文件的不同"版本"的正确方法是什么?有没有办法让一个分支与master上的最新代码保持同步,但是有一些配置/代码文件被更改了?我不希望它自动保持同步,但我希望能够不合并配置文件(或它们的一部分),而不是完全忽略它们(?).例如:不合并第6,7行(db用户名和密码),但将其他更改合并到文件中.

ral*_*nja 31

听起来你应该阅读git属性.查看本页底部的部分

如果项目中的分支已经分歧或是专门的,但是您希望能够将更改合并到其中,并且您希望忽略某些文件,这将非常有用.假设您有一个名为database.xml的数据库设置文件,该文件在两个分支中不同,并且您希望在其他分支中合并而不会弄乱数据库文件.