我正在与其他开发人员合作开发一个存储库。 每个开发人员都有自己的Azure帐户用于测试目的,这意味着每个开发人员都有一个不同的连接字符串用于本地开发。对于生产环境,设置也不同。
所以我们使用带有几个设置的Web.config,这些设置已签入git。但我不希望任何开发人员意外地推送他的连接字符串,所以我把它解压缩到一个单独的文件privateDevSettings.config。
的Web.config:
<appSettings file="privateDevSettings.config">
<add key="generalSetting" value="123" />
</appSettings>
privateDevSettings.config:
<?xml version="1.0"?>
<appSettings>
<add key="azureConString" value="put your personal azure connection string here"/>
</appSettings>
我的想法是每个开发人员都在privateDevSettings.config中设置他们的个人连接字符串,并且对于此文件使用gitignore,nobody会检查他们的设置。但显然,当忽略此文件时,它也必须从存储库中删除。但我宁愿保留文件,以便每个开发人员都知道该怎么做。
解决这个问题的方法是什么?感谢。
答案 0 :(得分:1)
两个建议:
1)您可以在privateDeevSettings.config
中添加注释,告诉开发人员如何进行本地配置,而不是在repo中使用web.config
来记录您的过程。然后你可以从repo中移除privateDevSettings.config
并将它移除.gitignore它(或者只是安排它存在于repo工作树之外)
2)你最终将这包装为战争吗?如果是这样,war插件可以&#34;过滤&#34;资源(在构建时插入连接字符串等值)。因此,您可以让开发人员通过环境或完全在源代码控制之外的属性文件或许多其他选项设置连接字符串,而不是让您(大多数)想要忽略的文件。