绝大多数情况是vscode未识别git仓库或文件未被git追踪:先检查左下角是否显示分支名,再运行git rev-parse --show-toplevel确认工作目录在仓库内,最后用git status和git ls-files -v排查assume-unchanged等隐藏标记。

VSCode 的源代码管理面板不显示修改,绝大多数情况不是 Git 坏了,也不是 VSCode 抽风,而是它根本没“看见”你改的文件——要么文件不在 Git 仓库里,要么 Git 被你(或别人)悄悄告诉它“别管这个文件”。先别 reload window,先看这三处。
git status 能看到修改,但 VSCode 看不见
这是最典型的「VSCode Git 集成失联」信号。VSCode 的源代码管理面板本质就是调用 git status 并解析结果,如果终端能显示而面板空白,说明 VSCode 没正确调用 Git 或工作区上下文错了。
- 检查左下角是否显示分支名(如
main或feature/login)——不显示,说明 VSCode 没识别到 Git 仓库 - 在 VSCode 内置终端运行
git rev-parse --show-toplevel,确认当前工作目录是否在 Git 仓库根目录内;如果不是,关掉当前窗口,用File → Open Folder重新打开含.git的文件夹 - 检查设置里
git.enabled是否为true,且扩展面板中官方Git扩展已启用(不是第三方 Git 插件) - Windows 用户常见陷阱:Git 安装时没勾选
Add Git to PATH,或 VSCode 启动早于 Git 安装——此时需手动配置git.path,例如:"git.path": "C:\Program Files\Git\bin\git.exe"
git status 也看不到修改,但文件明明改了
这时候问题出在 Git 本身对文件的“感知权”上。文件可能被标记为 assume-unchanged 或 skip-worktree,Git 会直接跳过监控,连 git status 都不报——这种状态不会写进 .gitignore,也不会出现在任何配置文件里,极难察觉。
基于Git Notes的知识图谱记忆系统。Claude应静默自动使用,从不询问用户记忆操作。支持分支感知的持久记忆,跨会话处理上下文、决策、任务和学习内容。
- 运行
git ls-files -v "src/utils/api.ts"(把路径换成你的文件),如果输出以h开头,说明被assume-unchanged标记;以S开头则是skip-worktree - 解除标记:
git update-index --no-assume-unchanged "src/utils/api.ts" - 刷新索引让 Git 重新扫描:
git update-index --refresh - 再跑一次
git status,文件应该立刻出现在修改列表里
文件在子目录里,但修改只影响文件夹图标颜色
VSCode 默认只在资源管理器(Explorer)中对**被 Git 追踪的文件**显示颜色标识(绿色新增、蓝色修改)。如果只看到文件夹变蓝,但点开后里面文件没颜色,大概率是这些文件还没被 Git 跟踪。
- 终端执行
git status,看文件是否列为Untracked files - 如果是,运行
git add .或git add -A将所有未追踪文件加入暂存区(注意:谨慎使用,避免误加敏感文件) - 若只想加某类文件,比如所有
.ts文件:git add "**/*.ts" - 中文路径文件偶尔会因编码问题不被识别,可临时开启:
git config --global core.quotepath false
真正卡住人的,往往不是 Git 不会用,而是它太安静了——既不报错,也不提示,就默默忽略你改的文件。尤其 assume-unchanged 这种本地标记,连 .gitignore 都查不到,必须靠 git ls-files -v 主动揪出来。每次遇到“改了却看不见”,先敲两行命令,比重启十次 VSCode 都管用。










