Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
忽略git中的个人配置文件_Git_Azure_Gitignore - Fatal编程技术网

忽略git中的个人配置文件

忽略git中的个人配置文件,git,azure,gitignore,Git,Azure,Gitignore,我正在与其他开发人员一起开发一个存储库。 每个开发人员都有自己的Azure帐户用于测试,这意味着每个开发人员都有不同的连接字符串用于本地开发。对于生产环境,设置也不同 因此,我们正在使用一个带有多个设置的Web.config,它被签入git。但我不希望任何开发人员意外地推送他的连接字符串,所以我将其解压缩到一个单独的文件privateDevSettings.config中 Web.config: <appSettings file="privateDevSettings.config"&g

我正在与其他开发人员一起开发一个存储库。 每个开发人员都有自己的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,没有人检查他们的设置。但显然,当忽略此文件时,还必须将其从存储库中删除。但我宁愿保留该文件,这样每个开发人员都知道该做什么

这个问题有什么解决办法吗?谢谢。

两条建议:

1) 您可以在
web.config
中添加注释,告诉开发人员如何进行本地配置,而不是使用repo中存在的
privatedevsettings.config
来记录您的过程。然后,您可以从repo中删除
privateDevSettings.config
,并忽略它(或者只安排它位于repo工作树之外)

2) 你最终会把这包装成一场战争吗?如果是这样,war插件可以“过滤”资源(在构建时插入连接字符串等值)。因此,您可以让开发人员通过环境设置他们的连接字符串,或者完全在源代码管理之外的属性文件,或者其他一些选项,而不是让您(大多数情况下)忽略一个文件