记录一下 hexo 博客迁移到另一台电脑上的操作。
问题描述
之前博客使用 Hexo ,本地写完后,使用 hexo g -d
命令后,就直接在 public 生成站点,将网站内容部署到 github 上,但是原始文件没有上传,这样无法再多台机器上一起使用该博客。
解决参考
解决思路如下:
- 使用 master 和 hexo 两个分支。
- master 分支用来保存生成的网站内容。
- hexo 分支保存原始的代码。
具体操作
- 创建新分支 hexo,可参考 《创建Git新分支步骤》。
- 将 hexo 博客的源文件提交到新分支 hexo 上。
- 然后在 github 上项目上设置默认的分支为你新建的分支(这里新分支为 hexo)。
- 然后在新的电脑上拷贝这个项目的代码(拷贝默认的 hexo 分支)。
- 在 hexo 分支上开发,然后提交代码到默认的 hexo 分支:
git add .
、git commit -m "..."
、git push origin hexo
。 - 修改
_config.yml
中的 deploy 参数,分支应为 master。 - 使用
hexo g -d
将网站更新到 master 分支上。
Next 主题缺失问题
按上面操作后,会发现 hexo 博客还是跑不起来,网上查找原因后发现 next 主题文件夹为空。如下:
《hexo本地测试运行重启后页面空白,提示 : WARN No layout: index.html?》
这个问题的解决一下子找不到了。。。基本思路是,拉一个 next 的主题下来,然后使用子模块的设置 submodule,将 next 主题独立到一个仓库中。
由于本质上是利用 github 来做一个云端的存储,所以我直接新建了一个项目,把这个 next 主题传了上去,如果有更改,就进行更新,其实是差不多的。用的时候,直接拷贝下来放入 next 文件夹中即可。
可能之前尝试使用子模块的操作,启动 hexo 报了这个错误:1
git submodule: already exists in the index