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的文件夹

    可参考建议立刻将 WSL + VSCode 作为你的最强生产力环境,起飞吧_wsl vscode-CSDN博客


  1. 全局区分大小写(没试过):

打开文件/etc/wsl.conf添加

[automount]
options = "case=force"

此配置会使 WSL 将 /mnt/c/mnt/d 等挂载的 Windows 目录视为完全区分大小写

cmd 命令行 wsl -l -v查看版本,一般就是v2

  1. 启用注册表权限(仅 WSL 1 需要):

    powershell

    # 在 Windows 管理员模式的 PowerShell 中执行
    reg.exe add HKLM\SYSTEM\CurrentControlSet\Services\lxss /v DrvFsAllowForceCaseSensitivity /t REG_DWORD /d 1
    
  2. 重启 WSL 生效

    powershell

    wsl --shutdown
    

2. 对特定目录启用大小写敏感

适用场景:仅需对项目目录(如代码仓库)启用区分大小写,避免影响其他 Windows 应用。
操作步骤​:

  1. 以管理员权限运行 PowerShell

    powershell

    # 进入目标目录(例如 D:\Projects)
    cd D:\Projects
    # 启用目录级大小写敏感 .代表当前目录 也可以 ./目标
    fsutil.exe file setCaseSensitiveInfo . enable
    # 验证是否生效
    fsutil.exe file queryCaseSensitiveInfo .
    
  2. 注意事项

    目录必须为空

    • 可以把原文件夹重命名,新建一个空的源文件夹
    • 将新文件夹使能后,将原来的文件全都复制过来(必须是复制或者新建不能是剪切)

3.window长路径

以管理员身份运行 PowerShell 执行:

New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "LongPathsEnabled" -Value 1 -PropertyType DWORD -Force
posted @ 2025-04-29 17:24  lpajsj  阅读(134)  评论(0)    收藏  举报