发现近期一极乐 push 的 Commit 在 Gitlab 和 Netlify 都没构建,查看一下日志发现 Jekyll 找不到某文件,可是Git 中明明有该文件,仔细对比才想起上次在 Windows 11 中将该文件名中的大写都修改成了小写,别的文件引用时也都使用了小写,然后当时 GitHub Desktop 没有提示 Commit 也并未在意。所以出现了这找不到文件的乌龙事件。
1 | Generating... |
Windows 11 中的 Git 这点有点坑,其实很多常见都是会识别大小写的。但是它却忽略了,可能就会出现类似问题。分享到一极乐解决方案:让Git识别文件名大小写。也便于下次遇到类似问题时不慌张。
检查 Git 是否识别文件名大小写
通过 终端 或 CMD 使用以下命令,返回 true
表示不识别大小写,返回 false
表示识别大小写
只查看当前项目 Git 配置
1 | git config --get core.ignorecase |
查看全局 Git 配置
1 | git config --get --global core.ignorecase |
修改为 Git 识别文件名大小写
只修改当前项目
1 | git config --local core.ignorecase false |
修改全局配置
1 | git config --global core.ignorecase false |
修改后你会发现之前修改过文件名的大小写的文件都会出现在 Commit 中。此时只需提交 Commit ,GitLab 、GitHub 、Netlify 构建后便不会报错了。
注意事项
- 全局为 false 时不代表当前项目一定为
false
,所以如果没生效就针对当前项目检查或者修改设置。 - 查看当前项目的设置请先通过终端打开当前项目目录
本文可以解决的问题
- 在 GitHub Desktop 上修改了文件名的大小写不识别更新(Commit)
- 在 Git 上修改了文件名的大小写不识别更新(Commit)
Relay Tips: 一极乐( https://yijile.com/zh/git-and-github-desktop-recognize-file-name-case/ )