遇到一个非常智障的问题
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 diff 了
然后 git add . 提交
大功告成
希望以后不要再这么二逼了!!!!