前言

Hexo博客可以通过备份插件 hexo-git-backup 把所有数据,包括主题文件备份到github仓库。

不同hexo版本安装的命令不一样,请使用hexo version自行查看。

备份

对于Hexo版本是3.x.x的用户,使用下面的命令安装:
$ npm install hexo-git-backup --save

然后到Hexo博客的根目录的_config.yml配置文件 添加 以下配置:

1
2
3
4
5
6
7
backup:
type: git
theme: material-x-1.2.1
message: Back up my www.itrhx.com blog
repository:
github: git@github.com:TRHX/TRHX.github.io.git,backup
coding: git@git.dev.tencent.com:TRHX/TRHX.git,backup

参数解释:

theme:你要备份的主题名称
注意:如果你选择了备份主题例如landscape,那么landscape主题文件夹下的 themes/landscape/.git 文件就会被删除
message:自定义提交信息
repository:仓库名,注意仓库地址后面要添加一个分支名,比如我就创建了一个 backup 分支

插件升级

如果你是通过–save安装的,那么升级之前你必须先删除旧的版本:

1
2
npm remove hexo-git-backup
npm install hexo-git-backup --save

设置妥当之后,可以使用下面的命令备份博客了:

hexo backup

简写命令:
hexo b

备份成功之后,就可以在仓库/仓库分支下看到备份的原始文件了。

执行命令 hexo b 就会把本地源文件备份到 backup 分支上;
执行命令 hexo g -d 会把静态文件上传到 master 分支上
两者是分开的

恢复

可以参考Hexo官网进行安装。然后把github仓库的文件复制到新的博客目录下。

  1. 安装git
  2. 安装Nodejs & npm
  3. 使用git clone把仓库拷贝到本地
  4. 在文件夹内执行命令 npm install hexo-cli -gnpm installnpm install hexo-deployer-git

添加ssh-keys

  1. 在终端下运行:ssh-keygen -t rsa -C "yourname@email.com",一路回车
  2. 刚刚的命令会在~/.ssh生成id_rsa, id_rsa.pub 两个文件,这就是密钥对,id_rsa是私钥,千万不能泄漏出去;
  3. 登录Github,打开「Settings」-->「SSH and GPG keys」,然后点击「new SSH key」,填上任意Title,在Key文本框里粘贴公钥id_rsa.pub文件的内容,注意不要粘贴成id_rsa,最后点击「Add SSH Key」
1
2
3
4
5
6
7
8
9
10
npm install hexo-cli-g
hexo init hexo-blog-restore
git clone git@xxx.git from-github
copy all the files from folder to folder hexo-blog-resotre

cd hexo-blog-restore
npm install
npm install hexo-deployer-git
hexo clean && hexo g && hexo s
重新配置github和coding的公钥

通过 http://localhost:4000 查看博客是否正常。

如果需要部署博客到Gitub,还需要安装hexo-deployer-git插件,这样才能使用命令hexo d

npm install --save hexo-deployer-git

参考资料