You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VSCode如何仅显示当前工作区的Git变更?

解决VSCode仅显示当前工作区Git变更的方法

这个问题我之前也碰到过——当子文件夹属于同一个根Git仓库时,VSCode默认会关联到根仓库,导致显示所有子项目的变更。下面有两个靠谱的解决思路:

方案一:通过VSCode本地设置限制扫描范围

给每个子项目单独配置VSCode的Git行为,让它只关注当前文件夹:

  1. 用VSCode打开目标子项目(比如ProjectA)
  2. 在项目根目录创建.vscode/settings.json文件(如果已经存在就直接编辑)
  3. 粘贴以下配置:
{
  // 将当前工作文件夹标记为Git根目录,忽略父目录的仓库
  "git.repositoryRoot": "${workspaceFolder}",
  // 关闭子模块自动检测,避免不必要的扫描
  "git.detectSubmodules": false,
  // 仅显示当前工作区内的未跟踪文件
  "git.showUntrackedFiles": "workspace"
}

保存后,VSCode就只会展示当前子项目内的文件变更了,其他子项目的内容不会再出现在Git面板里。

方案二:用Git Worktree创建独立工作区

如果希望每个子项目完全独立(包括分支管理、提交记录隔离),推荐用Git的工作树功能,给每个子项目生成独立的Git关联:

  1. 打开终端,进入根仓库的目录:
cd /path/to/your-root-repo
  1. 为每个子项目创建独立工作树(替换<branch-name>为你想要的分支名):
git worktree add ./ProjectA project-a-branch
git worktree add ./ProjectB project-b-branch
# 重复这个命令创建ProjectC、D、E的工作区

创建完成后,每个子项目文件夹里会生成一个.git文件(指向根仓库的工作树存储目录),此时用VSCode打开任意子项目,都会识别为独立的Git仓库,完全只显示该项目的变更。

另外还有个临时小技巧:在VSCode的Git面板中,点击「更改」右侧的过滤图标,选择「当前工作区」,不过这个设置是临时的,重启VSCode后会恢复默认。

内容的提问来源于stack exchange,提问作者Jswk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 04:24:06