VS Code仓库变更数异常,如何移除或修改仓库?
VS Code显示大量Git变更与GitHub Desktop不一致的问题解决
问题原因
你在VS Code中打开的是主Git仓库(/mygitproject)的子文件夹(/mygitproject/workingfolderinvscode),并且误在子文件夹下执行了「Initialize repository」操作,创建了一个新的子Git仓库。VS Code会自动识别并加载所有层级的Git仓库,导致同时显示主仓库和子仓库两个实例:
- 子仓库会把父目录的所有文件都判定为未跟踪的新文件,所以出现1800项变更的异常
- GitHub Desktop正确识别的是主仓库的状态,所以只显示2个正常变更
解决方法
关闭子目录的异常仓库
- 打开VS Code的源代码管理面板(侧边栏的分支图标)
- 在仓库列表中找到变更数异常的子目录仓库(路径对应
/mygitproject/workingfolderinvscode) - 右键点击该仓库名称,选择「Close Repository」,VS Code就会只保留主仓库的状态,变更数会和GitHub Desktop一致
清理子目录的冗余Git文件(推荐)
为了避免后续再次出现识别混乱,建议删除子目录下的Git仓库文件:- 打开终端,进入子文件夹路径:
cd /mygitproject/workingfolderinvscode - 删除子目录下的
.git隐藏文件夹:- macOS/Linux:
rm -rf .git - Windows:
rmdir /s /q .git
- macOS/Linux:
- 打开终端,进入子文件夹路径:
后续验证
关闭子仓库并清理后,检查VS Code源代码管理面板,确认只显示主仓库(/mygitproject),此时变更数应与GitHub Desktop完全匹配,后续所有Git操作都在主仓库的上下文下执行即可。
内容的提问来源于stack exchange,提问作者1.21 gigawatts
相关产品推荐
相关产品推荐

