此插件有一个 bug!运行 hexo b 后会把主题文件夹里的.git 文件夹删除,导致无法通过 git pull 来升级主题
前言
当我们要换电脑或者重装电脑系统时,博客的备份就显得很重要了,我们无须通过 U盘 来拷贝整个 blog 文件夹,这种方式太浪费时间,我们只需要使用 hexo-git-backup 这个插件,即可帮我们完美的备份好博客。
博客备份
安装
hexo 版本为 3.xx 以上
npm install hexo-git-backup --save
配置
2020 年 10 月 1 日之后,新创建的仓库默认分支为 main,按个人实际情况填写
- 新建仓库,自定义仓库名(如:hexo-backup),权限设置为
private
。 - 在博客配置文件
D:\blog\_config.yml
中添加以下内容(非主题配置文件)
backup:
type: git
repository:
github: git@github.com:xxx/xxx.git,branchName
如下图:
使用
运行 hexo backup
或缩写 hexo b
即可备份博客
hexo b
博客恢复
安装 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 -v
和 npm -v
,如果出现版本号,那么就安装成功了。
生成 SSH 秘钥绑定 Github
打开 Git Bash
,输入
git config --global user.name "yourname"
git config --global user.email "youremail"
ssh-keygen -t rsa -C "youremail"
在 C:\Users\主用户里出现 .ssh
文件夹,里面有 id_rsa
和 id_rsa.pub
两个文件,复制 id_rsa.pub 的内容。
cat ~/.ssh/id_rsa.pub
打开Github,在头像下面点击 Settings
,再点击 SSH and GPG keys
,新建一个 SSH key
,名字随便取一个都可以,把刚刚复制 id_rsa.pub
的内容粘贴进去。
在 Git Bash
中输入 ssh -T git@github.com
,如果出现你的用户名,那就成功了,如下图所示:
下载博客备份文件
克隆上面个人备份博客的仓库 hexo-backup
到本地 blog 文件夹
git clone -o github git@github.com:xxx/xxx.git
安装 Hexo
在 blog 文件夹下 GIt Bash Here
npm install hexo-cli -g
安装依赖文件
npm install
最后运行 hexo cl
&& hexo g
&& hexo d
,检查是否成功。
可能遇见的问题
fatal: 'github' does not appear to be a git repository
fatal: Could not read from remote repository
config
里 hexo-backup
填的主机名 github
和远程主机名 origin
对不上号可以运行
git remote -v
查看远程仓库信息可以运行
git remote rm origin
来删除默认的 origin
如果运行 hexo b
的时候出现上述错误,可以按下述方法解决:
git remote -v # 查看远程仓库信息
git remote rm origin # 如返回结果为 origin git@github.com:xxx/xxx.git
git remote add github git@github.com:xxx/xxx.git
hexo b