VSCode+GitLens拉取代码遇警告:文件系统不记录所有权,如何解决?
解决VSCode+GitLens中Git仓库无法操作及“不记录文件系统所有权”警告问题
问题根源
这个警告是Git安全机制触发的:当仓库所在文件系统不支持记录文件/目录所有权(比如FAT32、exFAT这类跨平台文件系统,或是网络共享卷),Git会判定仓库存在权限风险,进而限制操作。Sublime Merge因为调用Git的方式不同,或是默认绕过了该检查,所以未触发问题。
解决方案
1. 给目标仓库单独配置安全目录(优先级高于全局)
全局safe.directory '*'可能因VSCode的Git环境未正确读取,或是Git版本低于2.35.2(该版本才支持通配符)而失效。直接给仓库添加本地配置:
- 打开仓库根目录下的
.git/config文件 - 添加如下内容:
[safe] directory = 你的仓库绝对路径
示例:Windows下填directory = D:/Projects/MyRepo,macOS/Linux下填directory = /Volumes/ExternalDrive/MyRepo
2. 指定VSCode使用系统全局Git
VSCode自带的Git版本可能和你系统中的Git版本不一致,导致全局配置不生效:
- 打开VSCode设置(快捷键
Ctrl+,/Cmd+,) - 搜索
git.path,设置为系统Git的绝对路径(比如Windows下C:/Program Files/Git/bin/git.exe,macOS下/usr/bin/git) - 重启VSCode后重试操作
3. 禁用Git的所有权检查(谨慎使用)
如果以上方法都无效,可直接关闭Git的权限追踪机制,彻底消除警告:
git config --global core.filemode false
注意:该操作会让Git忽略文件权限的变更记录,若你需要依赖Git追踪权限变化,请勿使用此方法。
验证方式
完成配置后,在VSCode终端的仓库目录下执行git status,若未再出现警告,说明配置生效,此时GitLens的pull等操作即可正常运行。
内容的提问来源于stack exchange,提问作者user1799803
相关产品推荐
相关产品推荐

