最近在部署项目,遇到很多因为文件名大小写导致的编译报错问题。于是搜了下相关问题,发现 Windows 10 开始已经可以通过配置,来实现大小写敏感了。
因为部署是从 GitLab 拉取代码,自动构建的,本地修改了文件大小写,提交到 Git 上是没有变化的。在编译的时候,容器是环境是区分大小写的,这样就导致文件找不到而报错。
Windows 开启文件大小写敏感的方法:
Windows 10 四月更新终于带来了文件夹区分大小写的支持!
使用管理员权限启动 PowerShell,执行以下命令:
代码语言:javascript复制fsutil.exe file SetCaseSensitiveInfo D:Code enable
该命令是把 D盘 的 Code 目录设置为大小写敏感。
注意,在设置的时候文件必须是空的,否则会失败。也就是说,需要新建一个空文件夹,把项目剪切过来。不过之前大小写不敏感时编辑的项目直接剪切过来 Git 会全部显示 modified,最好是重新 clone。
如果要关闭此文件夹的大小写敏感支持,只需要将 enable 改为 disable:
代码语言:javascript复制fsutil.exe file SetCaseSensitiveInfo D:Code disable
以上就是在 Windows 10 及以上系统级开启了大小写敏感的方法,这下可以让跨平台的 Git 在各个系统都一样工作了。
注意事项
以上命令的正确运行需要以下条件:
- Windows 10 四月更新(1803)及以上版本
- 安装有 Linux 子系统,即 Windows Subsystem for Linux
- 所在分区为 NTFS 格式
- 以管理员权限运行 PowerShell
如果没有安装 Linux 子系统,那么运行时会出现以下错误:
代码语言:javascript复制The request is not supported. # 错误:不支持该请求。
安装 Linux 子系统:
代码语言:javascript复制Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
参考文献:
fsutil | Microsoft Learn
fsutil setCaseSensitiveInfo
fsutil - The request is not supported after setCaseSensitiveInfo
如何使用 WSL 在 Windows 上安装 Linux
未经允许不得转载:Web前端开发资源网 » Windows也支持大小写敏感,Git用户的福音
推荐阅读:
申请腾讯云免费SSL证书,实现网站https访问
WebStorm怎么设置实现自动编译less文件
Linux下导入SQL文件及MySQL常用命令
Linux下如何重置MySQL密码
使用float后清除浮动的几种方法