如何阻止VS Code显示嵌套Git仓库中未跟踪目录的改动
解决嵌套Git仓库中VS Code显示未跟踪文件的问题
问题核心
root目录的.gitignore只对主仓库生效,first_dir作为独立的子Git仓库,它的未跟踪文件状态由自身的.gitignore和Git缓存决定。你之前的.gitignore规则冗余,加上可能存在Git缓存残留,导致VS Code仍显示未跟踪文件。
解决方案
1. 简化并修正first_dir/.gitignore规则
把first_dir/.gitignore里的内容简化为一行即可,冗余规则反而可能引发问题:
resources/
(末尾的斜杠表示忽略整个resources目录及其中所有文件,是Git忽略目录的标准写法)
2. 清除Git缓存并刷新状态
进入first_dir目录,执行以下命令(不会删除本地文件,仅清除Git的缓存记录):
git rm -r --cached resources/ git add .gitignore
执行完后运行git status,确认first_dir仓库下已无未跟踪文件。
3. 调整VS Code本地设置(可选)
如果上述操作后VS Code仍显示未跟踪文件,可直接让VS Code隐藏未跟踪文件:
- 在项目根目录创建
.vscode/settings.json文件,添加以下内容:
这个设置仅对当前项目生效,不会影响其他仓库。{ "git.untrackedChanges": "hidden" }
内容的提问来源于stack exchange,提问作者vintagedeek
相关产品推荐
相关产品推荐

