git-解决大小写文件的问题(可能会导致服务器打包失败)

1,833 阅读1分钟

前言

平时我们在开发项目的时候,git基本上必备的,git上面有个默认的大小写的坑点你了解了么,尤其是有代码规范强迫症的人需要注意

问题

如果我们平时有强迫症,不小心文件名大小写拼错了,后面发现改过来,然而git却默认会忽略大小写, 到这时,我们自己开发自己打包不会有什么问题,一旦合作开发,其他人可能会报错,甚至可能直接打包不成功,尤其是前端最为常见(以react项目为例)

原因:文件大小写更改被git忽略,被引用的文件路径代码更新却没忽略,并上传到远端,因此远端获取的代码文件名没有被修改,引用文件却修改了,所以会出现一个文件引用的错误(这个本地是发现不了的,只有重新拉取代码或者合作伙伴会出现这个问题)

解决方案

设置git的 ignorecase参数来解决这类问题,如下所示,将 ignorecase 参数设置为 false 即可,如下所示

image.png

新问题:已经上传到远端的大小写文件并不会删除,而是被缓存在 git 中,可以通过删除该缓存解决,执行下面命令即可,然后 git 出现删除文件变更,提交即可

//假设删除的问题目录是 pages/Work 文件夹,即:原来起名叫 Work,后面改名为 work
//这样就可以将 Work 文件夹中的所有文件删除增加到 git 变更上了(大小写改名后原文件、文件夹会被缓存,删除即可)
git rm -rf --cached pages/Work