此插件有一个 bug!运行 hexo b 后会把主题文件夹里的.git 文件夹删除了,导致无法通过 git pull 来升级主题

前言

当我们要换电脑或者重装电脑系统时,博客的备份就显得很重要了,我们无须通过 U 盘来拷贝整个 blog 文件夹,这种方式太浪费时间,我们只需要使用hexo-git-backup这个插件,即可帮我们完美的备份好博客。

博客备份

安装

hexo 版本为 3.xx 以上

1
npm install hexo-git-backup --save

配置

  1. 新建仓库,自定义仓库名(如:hexo-backup),权限设置为private
  2. 在博客配置文件D:\blog\_config.yml中添加以下内容~~(非主题配置文件)~~
1
2
3
4
backup:
type: git
repository:
backup: git@github.com:xxx/xxx.git,branchName

如下图:image-20210905032039456

2020 年 10 月 1 日之后,新创建的仓库默认分支为 main,按个人实际情况填写

使用

运行hexo backup或缩写hexo b即可备份博客

1
hexo b

如图:image-20210905033503107

建议至少一个月备份一次博客~

博客恢复

安装 Git

windows:在Git 官网下载.exe 文件,安装选项全部默认,注意其中选择环境变量一步推荐选择Use Git from the Windows Command Prompt,这样我们就可以直接在命令提示符里打开Git了。

安装 Node.js

hexo是基于node.js编写的,所以需要安装一下node.js和里面的npm工具。

windows:下载稳定版或者最新版Node.js都可以,安装选项全部默认,一路点击Next。最后安装好之后,打开Git Bash,输入node -vnpm -v,如果出现版本号,那么就安装成功了。

如图:image-20210905111900758

生成 SSH 秘钥并添加到 Github

打开Git Bash,输入

1
2
3
git config --global user.name "yourname"
git config --global user.email "youremail"
ssh-keygen -t rsa -C "youremail"

在 C:\Users\主用户里出现.ssh文件夹,里面有id_rsaid_rsa.pub两个文件,复制 id_rsa.pub 的内容。

1
cat ~/.ssh/id_rsa.pub

打开Github,在头像下面点击Settings,再点击SSH and GPG keys,新建一个SSH key,名字随便取一个都可以,把刚刚复制id_rsa.pub的内容粘贴进去。

Git Bash中输入ssh -T git@github.com,如果出现你的用户名,那就成功了,如下图所示:

image-20210905113319779

下载博客备份文件

克隆上面个人备份博客的仓库hexo-backup到本地 blog 文件夹

安装 Hexo

在 blog 文件夹下 GIt Bash Here

1
npm install hexo-cli -g

安装依赖文件

1
npm install

安装部署插件

自己需要的插件(如:Gulp)自行重新下载

1
npm install hexo-deployer-git --save

最后运行 hexo cl && hexo g && hexo d,检查是否成功。

参考文章

  1. Hexo 常用插件
  2. Hexo+Github 博客搭建完全教程
  3. 没有要求备份主题,但是仍然备份了
  4. 重装系统后重新部署恢復 Hexo blog