VSCode Source Control显示同一文件多条重复变更记录异常问题
触发原因及对应解决方法
- Git大小写配置不匹配:Windows、macOS默认文件系统大小写不敏感,若仓库存在大小写不同的同名文件,或
core.ignorecase配置与实际路径规则冲突,就会生成重复记录。
解决:在仓库根目录打开终端,执行git config core.ignorecase false,重启VSCode即可。 - 路径重复映射:同一目录通过符号链接、网络挂载等方式重复加入VSCode工作区,或打开的仓库路径本身是符号链接,会被识别为两个路径下的变更。
解决:检查工作区文件夹列表,删除重复挂载的目录,直接打开仓库的实际物理路径而非符号链接路径。 - Git扩展冲突:多个Git类扩展(如GitLens、第三方代码托管平台扩展)的后台索引逻辑可能冲突,重复提交变更记录。
解决:依次禁用非官方Git扩展,重启VSCode测试,找到冲突扩展后升级到最新版或替换。 - 重复的仓库监视规则:工作区
.vscode/settings.json中git.watchRepositories规则重复指向同一仓库,或开启了冗余的文件变更监视。
解决:打开工作区设置搜索git.watchRepositories,删除重复规则,也可尝试关闭再重新开启git.autorefresh测试。 - 行尾符转换冲突:Git的
core.autocrlf行尾符自动转换配置和VSCode默认行尾符设置不匹配,每次保存会同时识别行尾符变更和内容变更,生成重复记录。
解决:根据系统执行对应命令统一规则:- Windows:
git config core.autocrlf true - macOS/Linux:
git config core.autocrlf input
再执行git rm --cached -r . && git reset --hard重置仓库缓存(操作前先提交所有未保存的变更,避免内容丢失)。
- Windows:
内容的提问来源于stack exchange,提问作者Muhammad Ushay
相关产品推荐
相关产品推荐

