Should I ignore the launchSettings.json file from being committed in Git?

GitVisual StudioGithubVisual Studio-2017

Git Problem Overview


I find this relatively known GitHub repository, where they considered launchSettings.json file (which is used by Visual Studio 2017 for .Net Core projects) is to be ignored.

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

Why should it be ignored? I used always in the company I work in to commit it, I am curious to know if there is any reason to ignore it.

Git Solutions


Solution 1 - Git

launchSettings.json should not be ignored. That repository has since been updated to not ignore it: https://github.com/github/gitignore/pull/2705

> Reasons for making this change: > > Ignoring launchSettings.json does not make much sense. Now .NET CLI even considers this file when running with dotnet run, as you can read here. > > This settings will be useful if shared among project members, so it should be commited to the repo. > > > Links to documentation supporting these rule changes: > > https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-run?tabs=netcore2x

Solution 2 - Git

One reason that this might be done as a general practice is to keep secrets out of the repo.

If you're using environment variables to store DB passwords, API keys, and so on, you can configure those for your dev hosting environment under Project Properties -> Debug, as key-value pairs.

That configuration gets persisted locally in the project's launchSettings.json, so by keeping that file out of commits you avoid leaking privileged information into your repo.

Note though, that the current best practice is not to store secrets in this way at all during development, but to use the Secrets Manager instead.

Solution 3 - Git

OK now I know why, I deleted that file, but the options of this project are still saved somewhere there, the options simply did not get lost after deleting this file. The file seems to be automatically generated when I do any new change to the project options, so my old version with the new changes is going to be there again.

I am not sure what is the benefit of it in this case, but at least I can say we can probably exclude it from the source control.

Please correct me if I missed anything.

Solution 4 - Git

It depends on the context of your project,

If you are going to share your source code with your colleagues or client and wanted to run the project with the same set of settings which you have used apart from default like "uriFormat" which will redirect to a specific Url on application start.

This kind of settings will not be available to next user if it is going to run the code from your repository.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionMohammed NoureldinView Question on Stackoverflow
Solution 1 - GitBradley GraingerView Answer on Stackoverflow
Solution 2 - GitjlmtView Answer on Stackoverflow
Solution 3 - GitMohammed NoureldinView Answer on Stackoverflow
Solution 4 - GithemantView Answer on Stackoverflow