问题来源
昨天在简书上看到github Page多台电脑同步的博客,戳这里。在折腾的过程中,我发现新电脑上clone的项目在hexo server
启动时会报错:WARN No layout: index.html
,一开始以为是hexo版本问题。后来意识到Layout出了问题应该和主题样式有关,查了博客项目的theme
目录后发现里面的样式是空的。再一查github仓库里主题目录也是空的。这就定位到了问题来源:
在A主机git push时没有将themes/xxx
这个子模块的更新上传,导致B主机pull后没有主题样式。
解决办法
就是在A主机上将已经修改过的themes目录上传,注意删掉.git
目录(一个github项目不允许两个.git
目录)。于是想用git add
–>git commit
–>git push
的顺序操作。但在add时即报出以下错误:
PS F:\xxx.github.io\themes\archer> git add *
fatal: in unpopulated submodule 'themes/archer'
继续百度一番后得到解决办法:删除cache中的主题样式再上传:
PS F:\xxx.github.io> git rm --cache themes/archer
rm 'themes/archer'
PS F:\xxx.github.io> git add themes/archer
PS F:\xxx.github.io> git commit -m "update the archor theme"
PS F:\xxx.github.io> git push
这样就上传成功了,github仓库中的themes
目录总算有了修改内容。