“Hexo部署到Github后文件夹名大小写引起的问题”
Hexo部署到Github后文件夹名大小写引起的问题
问题描述
最近一直在使用Hexo
搭建博客,然后将其部署到GIthub上,然而今天写完博客上传之后,发现Tags
和Categories
页面变为404了,点击对应的Tag或Categories时会出现路径无法找到从而跳转到404页面,然后我在本地使用hexo s
进行预览,发现一切正常。
原因
然而我最近为了规范项目的目录,将项目的文件名全都改成了小写,本地预览是没有问题的,但是提交到远程仓库之后,问题就出现了:git默认是不区分大小写的,此即便文件夹的大小写发生了变更,git也会表现出置之不理,导致无法找到路径。
解决方案
我的解决思路是先调整git的配置文件,使其大小写敏感,然后删除git项目中已经存在的大写文件夹,最终使用Hexo
重新生成并部署
解决步骤
进入到Hexo项目的文件夹中,比如Hexo项目文件夹名称为blog:
1 | cd blog |
进入.deploy_git
文件夹
(.deploy_git
是隐藏文件夹)
1 | cd .deploy_git |
进入.git
文件夹
1 | cd .git |
打开目录下的config
文件并修改ignorecase = true
为ignorecase = false
1 | [core] |
接下来进入github中,在web模式下删除所有大写文件夹
之后在项目根目录下执行命令重新生成文件并部署到Github上
1 | hexo clean && hexo g && hexo d |
之后等待更新后重新加载发现还是404页面并且GitHub里面已经删除的大写文件夹又重新恢复了
然后重新整理思路
删除本地的.deploy_git
目录
再次运行hexo d
提交,hexo会重置git仓库,并重新生成所有文件!
打开github查看,问题解决!