C# MVC .NET Core项目中.gitignore无法屏蔽appsettings.json的问题求助
解决.gitignore无法排除appsettings.json的问题
这是个很常见的坑——当你已经把appsettings.json提交到Git仓库后,后续添加的.gitignore规则不会立刻生效,因为Git已经在追踪这个文件的变更了。.gitignore的作用是告诉Git忽略那些从未被纳入追踪的文件,对已经在索引里的文件无效。
下面是具体的解决步骤:
- 首先,把
appsettings.json从Git的追踪索引中移除,但保留本地文件(这一步很关键,别漏了--cached参数):
如果你的项目里有多个子目录都包含这个文件,可以用递归匹配:git rm --cached appsettings.jsongit rm --cached **/appsettings.json - 检查你的.gitignore文件,确保规则正确无误:
确认里面包含以下任意一条(两条都加也没问题):
注意检查拼写和大小写——虽然Windows系统不区分大小写,但Git在部分配置下会严格区分,尽量保持文件名和规则一致。appsettings.json **/appsettings.json - 提交这个变更,让Git正式停止追踪该文件:
git commit -m "Stop tracking appsettings.json to exclude sensitive connection strings" - 完成后,再修改
appsettings.json,你会发现它不再出现在Git的变更列表里了。
额外提醒:如果你的项目还有appsettings.Development.json、appsettings.Staging.json这类环境配置文件,也可以把它们加到.gitignore里,避免提交敏感的环境配置信息。
内容的提问来源于stack exchange,提问作者CrazyLegs




