Backup and Recovery of Hexo Blog

参考这篇文章

前提

已经初始化好了自己想要备份的博客。Git、GitHub环境已准备好。

备份博客

新建仓库
新建一个仓库,自己命名,比如我的是hexo-back-up,勾选README

获取 .git文件夹
原始的博客文件夹只有.deploy_git,是没有.git文件夹的,于是我们先去桌面或者哪里随便一个地方,把刚刚的hexo-back-up给clone下来。然后剪切出里面的.git文件夹,复制到现在的博客文件夹中

创建.gitignore
用来在上传时候忽略一些文件,即不上传.gitignore中忽略的文件。有就就不用管了,没有的话自己手动创建创建.gitignore。

注意,如果你之前克隆过theme中的主题文件,那么应该把主题文件中的.git文件夹删掉,因为git不能嵌套上传,最好是显示隐藏文件,检查一下有没有,否则上传的时候会出错,导致你的主题文件无法上传,这样你的配置在别的电脑上就用不了了

备份
通过如下命令将本地文件备份到Github上。
在hexo博客的根目录下执行

1
2
3
git add .
git commit -m "back up"
git push -u origin main

这样就备份完博客了且在Github上能看到,其中node_modules、public、db.json已经被忽略掉了,没有关系,不需要上传的,因为在别的电脑上需要重新输入命令安装 。

恢复博客

先把本地Hexo博客基础环境搭好:比如安装git、nodejs、hexo…

克隆源文件到本地

如果在新电脑或者重装系统后恢复的话可能需要重新生成SSH密钥,并更新github密钥配置。

恢复博客
在clone下来的那个文件夹里面执行

1
2
3
npm install hexo-cli
npm install
npm install hexo-deployer-git

在此不需要执行hexo init这条指令,因为不是从零搭建起新博客。
然后就完成了,你如果想也可以
1
2
3
hexo clean
hexo g
hexo d

如果想用Github Action自动部署博客的话参考这篇博客

References

https://blog.quickso.cn/2021/02/20/Hexo%E5%8D%9A%E5%AE%A2%E7%9A%84%E5%A4%87%E4%BB%BD%E4%B8%8E%E6%81%A2%E5%A4%8D/