【问题标题】:Using .gitignore file to hide appsettings.json does not actually hide it使用 .gitignore 文件隐藏 appsettings.json 并没有真正隐藏它
【发布时间】:2018-09-30 12:42:45
【问题描述】:

我正在构建一个 C# MVC .Net Core 应用程序,连接字符串在一个名为 appsettings.json 的文件中,所以我想要做的只是将它从我的 git 存储库中排除。我在 git ignore 文件中添加了以下行:

appsettings.json

我也试过了:

**/appsettings.json

但似乎都不起作用,我对appsettings.json 文件所做的更改仍然出现,我在这里遗漏了一些基本的东西吗?

【问题讨论】:

标签: json asp.net-mvc git .net-core gitignore


【解决方案1】:

向您的.gitignore 文件添加条目不会删除已添加到您的存储库的任何文件。您需要手动删除它们。为此,您可以使用rm 命令:

git rm --cached project/appsettings.json

【讨论】:

  • 不确定我是否要删除任何文件,因为我只是不想将更改推送到我的远程存储库,因为我在此文件中有连接字符串,我认为 .gitignore 中的内容会如果您对这些文件进行了更改,则会被忽略。
  • 你应该把你的连接字符串拆分成他们自己的 json 文件然后排除那个。
  • 没有人要求从项目文件夹中删除文件。 OP 只是想将它们从跟踪中删除。答案不正确。
【解决方案2】:

这是我们在使用 Git 时遇到的关于 .gitignore 工作方式的常见误解:.gitignore 将忽略所有尚未被跟踪的文件;实际上,您的 .gitignore 设置不会忽略已在 Git 存储库中跟踪的文件。

为了满足您的需求,取消跟踪您希望忽略的文件就足够了,即在您的情况下是 appsettings.json 文件。 正如您问题的 cmets 中所报告的,这已经回答了 here。然后,您的 .gitignore 设置将按预期工作。

【讨论】:

  • 应该试试这个“git rm --cached ”,谢谢大家:)
【解决方案3】:

这是git的官方参考看here 它说:

gitignore 文件的目的是确保某些文件不 被 Git 跟踪的仍然未被跟踪。

要停止跟踪当前正在跟踪的文件,请使用 git rm--cached

【讨论】:

  • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效。
  • sorry @Todd 基本部分在上面的 qoute 中......链接是 git-scm.com 文档 git ignore notes。它帮助了我,我想分享其他人,因为我认为官方文档说明指出了确切的答案。我是新手。我只是在看..这是我第一次回答问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-20
  • 2015-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多