git在Window下 invalid path 与 大小写冲突
git在Window下 invalid path 与 大小写冲突
1. git reset --hard error: invalid path
# 禁用 NTFS 路径保护
git config --global core.protectNTFS false
# 再次执行 reset
git reset --hard
# 操作完成后,恢复默认配置(可选)
git config --global core.protectNTFS true
2.大小写冲突
可以直接先尝试2“对特定目录启用大小写敏感”看是否成功,不成功再考虑安装
只是想在 Windows 原生环境下使用区分大小写的文件夹,直接运行该命令即可,无需安装 WSL。仅适用于 NTFS 文件系统,FAT32/exFAT 不支持。
-
微软商店搜索WSL下载ubuntu
-
找到设置,控制面板->程序和功能->启用和关闭linux功能 打开 虚拟机平台(有可能是英文名称) 以及 适用于linux的win子系统
-
在VSCODE中安装WSL
-
打开vscode 点击整个界面的左下角,连接WSL会打开终端提示下载子系统
-
下载太慢可以xx上网在 linux子系统下载,然后点击安装
-
重启
-
连接WSL 进入linux子系统命令行,另外在此电脑中可以看到linux的文件夹
- 全局区分大小写(没试过):
打开文件/etc/wsl.conf添加
[automount]
options = "case=force"
此配置会使 WSL 将 /mnt/c、/mnt/d 等挂载的 Windows 目录视为完全区分大小写
cmd 命令行 wsl -l -v查看版本,一般就是v2
启用注册表权限(仅 WSL 1 需要):
powershell
# 在 Windows 管理员模式的 PowerShell 中执行 reg.exe add HKLM\SYSTEM\CurrentControlSet\Services\lxss /v DrvFsAllowForceCaseSensitivity /t REG_DWORD /d 1重启 WSL 生效:
powershell
wsl --shutdown
2. 对特定目录启用大小写敏感
适用场景:仅需对项目目录(如代码仓库)启用区分大小写,避免影响其他 Windows 应用。
操作步骤:
-
以管理员权限运行 PowerShell:
powershell
# 进入目标目录(例如 D:\Projects) cd D:\Projects # 启用目录级大小写敏感 .代表当前目录 也可以 ./目标 fsutil.exe file setCaseSensitiveInfo . enable # 验证是否生效 fsutil.exe file queryCaseSensitiveInfo . -
注意事项:
目录必须为空
- 可以把原文件夹重命名,新建一个空的源文件夹
- 将新文件夹使能后,将原来的文件全都复制过来(必须是复制或者新建不能是剪切)
3.window长路径
以管理员身份运行 PowerShell 执行:
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "LongPathsEnabled" -Value 1 -PropertyType DWORD -Force
浙公网安备 33010602011771号