今天发现git居然不能检测目录的大小写,貌似是由于历史原因,不同平台之间的文件系统有区别,为了照顾所有的平台(因为git是跨平台的),同时标准的目录命令也不应该使用大小写来区分,所以就默认忽略目录的大小写。 但是我的GitHub pages中的博客分页使用的jekyll框架是区分大小写的,这就导致了无效的链接(404)。 看了GitHub上的博客项目也没有发现异常,最后原来是git客户端没有识别出修改目录的大小写。

目前有两种解决方案:

1. 指令:

使用git指令对单个目录修改为tmp临时命名,然后再改回去(大写)以达到检测的目的。

git mv myfolder tmp
git mv tmp MyFolder

2. 配置:

修改git配置,将默认大小写忽略开关关闭。

git config core.ignorecase false