git 大小写敏感问题

遇到一个非常智障的问题

git 默认小写不敏感!!!

那么会发生什么恐怖的事情呢!!!

二逼的遭遇

创建文件夹时使用的驼峰写法,由于使用 docusaurus 框架,根据文件夹自动生成路由。

而后来改成了小写,但是没有git diff, git 仓库中仍然为驼峰写法。导致 ci 打包的路径也出了问题,但是本地开发时写的跳转地址都是 小写 的地址。于是 ci 打包发布后,部分跳转地址 404 。

我一度以为 我本地 build 和 ci 的 build 有什么区别导致的。研究了整整一下午,还研究了下 docker 中的 nginx 和 本地的 nginx, 甚至怀疑nginx 也出了问题。为什么我本地啥事没有,线上就爆炸!!!

刚刚 晚上 突然发现是文件夹名称大小的原因。

解决

首先当然是打开大小写敏感

git config core.ignorecase false

然后把文件/夹名改一下,然后git push

但是 git 线上仓库中出现了大小写两份的文件夹!!!!!! 本地只有一份 咋办!!

然后呢还有一步操作

git rm --cached src/dirName1 -r
git rm --cached src/dirName2 -r

这时候就有 git diff 了

然后 git add . 提交

大功告成

希望以后不要再这么二逼了!!!!