我应该忽略`launchSettings.json`文件在Git中的提交吗?

Moh*_*din 9 git github visual-studio visual-studio-2017

我发现这个相对知名的GitHub存储库,在该存储库中,他们认为launchSettings.json文件(Visual Studio 2017用于.Net Core项目)被忽略了

https://github.com/github/gitignore/blob/master/VisualStudio.gitignore

为什么要忽略它?我一直在工作的公司中使用它,我很想知道是否有任何理由忽略它。

Bra*_*ger 15

launchSettings.json应该不会被忽略。该存储库已更新为不忽略它:https : //github.com/github/gitignore/pull/2705

进行此更改的原因:

忽视launchSettings.json没有多大意义。现在 .NET CLI 在运行时甚至会考虑这个文件dotnet run,你可以在这里阅读。

如果在项目成员之间共享,此设置将很有用,因此应将其提交到存储库。

支持这些规则更改的文档链接:

https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-run?tabs=netcore2x

  • 如果 `launchSettings.json` 应该在 git 中,如果我在此文件中将其设置为“开发”,我们如何控制环境设置(开发、生产等)?尤其是在 CI/CD 的背景下。 (4认同)

jlm*_*lmt 12

将其作为一般做法进行的一个原因是将秘密保密于 repo 之外。

如果您使用环境变量来存储数据库密码、API 密钥等,您可以在项目属性 -> 调试下为您的开发托管环境配置这些作为键值对。

该配置在项目的本地持久化launchSettings.json,因此通过将该文件排除在提交之外,您可以避免将特权信息泄漏到您的存储库中。

但请注意,当前的最佳做法是在开发过程中根本不以这种方式存储机密,而是改用机密管理器


Moh*_*din 4

好吧,现在我知道为什么了,我删除了那个文件,但是这个项目的选项仍然保存在那里,删除这个文件后选项根本没有丢失。当我对项目选项进行任何新更改时,该文件似乎会自动生成,因此带有新更改的旧版本将再次出现。

我不确定在这种情况下它有什么好处,但至少我可以说我们可以将它从源代码管理中排除。

如果我遗漏了什么,请纠正我。