Git 备份 Hexo 博客

Hexo 布署到 Github 上的博客是通过 hexo g 编译后生成的文件,用于生成网页的,而不是 Hexo 博客的源文件,其布署的文件在本地的 .deploy_git 文件夹下,而博客的配置文件、主题文件等内容都没有上传到 github

下面通过 Gitee 备份 Hexo 博客,而布署的 NexT 主题博客仍在 Github 上,两者互不干扰。

生成一个 Gitee 用的 SSH-Key

输入以下命令,生成一个密钥文件

1
ssh-keygen -t rsa -C 'xxxxx@qq.com' -f ~/.ssh/gitee_id_rsa

配置 SSH-Key 密钥

  1. 用记事本打开 gitee_id_rsa.pub 文件,在 Gitee 上找到公钥, 复制 gitee_id_rsa.pub 中内容

  2. ~/.ssh 目录下新建一个config文件,添加如下内容(其中 Host 和 HostName 填写 git 服务器的域名,IdentityFile 指定私钥的路径)

  3. 测试密钥是否链接成功

1
ssh -T [公钥的标题]@gitee.com

链接成功后会返回 You've successfully authenticated 等内容

新建 Gitee 仓库

在 Gitee 上新建一个仓库,自定义命名,并且勾选 README

.git 文件夹设置

  1. 在之前 Hexo 目录下,可能存在一个隐藏的 .git 文件夹,需要先打开隐藏文件可见进行查找,如果有,先删除

  2. 新建一个空的文件夹,将刚在新建的 Gitee 仓库克隆下来,然后把文件夹中的 .git 文件复制到 Hexo 文件夹下,并删除新建的空文件夹

注意:克隆的时候选择 ssh 的链接,如下所示

1
git clone git@gitee.com:zengfanyongcn/hexobackup.git

git@gitee.com:zengfanyongcn/hexobackup.git 是自己新建的 Gitee 仓库 SSH

创建 .gitignore 文件

如果在 Hexo 文件夹下有 .gitignore 文件,则不用创建,否则,新建一个 .gitignore 文件,忽略一些不需要上传的文件,代码如下

1
2
3
4
5
6
7
.DS_Store
Thumbs.db
db.json
*.log
node_modules/
public/
.deploy*/

注意:在主题文件中有克隆时保存的 .git 文件,应该删除,应该 git 不能嵌套上传。

备份 Hexo 文件

在 Hexo 文件夹的根目录下,执行以下代码:

git add . :暂存当前路径下所有文件

git commit -m '注释' :提交暂存文件到仓库

git push -u origin master :推送本地文件到 Gitee 上

每次备份前,先把 Hexo 的缓存文件删除

hexo clean :删除缓存文件

然后备份到 Gitee

1
2
3
git add . 
git commit -m '注释'
git push

最后生成网站的静态文件,布署到 Github上

1
2
hexo g
hexo d

恢复博客

  1. 克隆 Gitee 上的博客文件到本地
1
git clone [博客备份链接]
  1. 搭建 Hexo 博客
1
2
3
npm install hexo-cli
npm install
npm install hexo-deployer-git
  1. 布署博客
1
2
3
hexo clean
hexo g
hexo d
-------------本文结束 感谢您的阅读-------------