使用Hexo撰写文章后仅使用几个简单命令即可轻松部署到Github上,有时候经常会出现文章部署后又修改了Tag或Categories,而恰好修改的内容涉及到英文字母大写改小写或小写改大写,譬如news改为News,字母N修改后确发现部署到Github上无法生效,而此时你若在本地预览确一切正常。
由于在发布的文章中出现的Tag或Categories会对应在tag或categories页面中显示,因此当点击对应的Tag或Categories时会出现路径无法找到从而跳转到404页面。
原因
这个现象的问题是由于git命令默认的配置中忽略了文件名的大小写,因此即便文件夹的大小写发生了变更,git也会表现出置之不理。
解决方案
解决思路是先调整git的配置文件,让git执行时不要忽略大小写的修改,然后清空github.io项目中的所有文件,最后使用Hexo重新生成并部署。
解决步骤
进入到Hexo项目的文件夹中,比如Hexo项目文件夹名称为blog:1
cd blog
进入.deploy_git
文件夹 (.deploy_git
是隐藏文件夹,如果你看不到,可以使用ls -a
命令来查看,这一步可以省略)1
cd .deploy_git
打开.git
目录下的config文件并修改ignorecase = true
为 ignorecase = false
1
2
3
4
5
6
7
8
9
10vim .git/config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true ##修改true为false
precomposeunicode = true
…
文件打开后,输入i进入编辑模式,将光标移动到ignorecase = true
,将true
改为false
后输入:wq
。(冒号也是命令的一部分)
接下来删除 .deploy_git
文件夹内的所有文件,并push到Github仓库,完成后你的github.io项目中没有任何文件。1
2
3git rm -rf *
git commit -m ‘clean all file’
git push
返回Hexo项目blog的根目录,重新生成文件并部署到Github上
1 | cd .. |
完成。
你现在可以在浏览器中重新加载查看是否还会出现404页面了。