我正在开发一个小型的项目,我正在使用连接字符串以及其他人不应该看到或使用的api键和值.我使用公共GitHub帐户进行源代码管理.当web.config中的这些值是纯文本时,使用源代码管理的常用方法是什么?
在签入代码之前,是否需要手动删除值?
我发现的工作是检查具有空白或虚拟值的文件版本,然后运行:
git update-index --assume-unchanged [fileName]
然后,Git将停止监视对该文件的更改,允许您将真实的配置信息放入其中,而不必担心将其检入.
如果您以后进行了想要检查的更改,则可以运行:
git update-index --no-assume-unchanged [fileName]
我们将敏感和/或机器特定的配置保存在单独的配置文件中,然后使用configSource将它们包括在内......
这样,您可以检入Web.config和cstrings.config文件,该文件具有可在开发计算机上使用的通用值.(例如,(local),... MyAppNameDb ...)
对于生产环境,请将cstrings.config文件标记为只读并设置部署脚本,以便不要尝试对其进行写入.您的生产连接字符串受该框中的安全保护.这可以使您的敏感字符串不受版本控制.
cstrings.config: