Hexo+GitHub 博客备份管理

前言

  本文主要的意义在于我们后期能更好的维护我们个人使用 Hexo + GitHub 搭建的个人博客站点资源的。存在的隐患小编在本文介绍中提到一点:我们的本地仓库主要存放 Hexo 以及 themes主题的配置信息,我们会发现我们如果不考虑后期维护的问题,我们会在GitHub远程仓库中并看不到我们的这些配置信息,所以这里小编将介绍在我们本地文档丢失后,又不影响我们后期的博客的更新以及维护。

  这里小编只讲新搭建的博客环境的情况,至于已经搭建好的博客的并且有个人博客发表在站点的如何处理,后期小编会出教程,或者给小编发邮箱 loye_you@163.com.

搭建前提

  安装 Hexo 运行环境:

  • 安装 node.js

    • 下载地址:官方下载
    • 然后双击安装,默认一直next即可。安装成功后,在cmd命令窗口 node -v 以及 npm -v 查看是否安装成功。
  • 安装 Git

    • 下载地址:官方下载
    • 然后同样双击安装,默认一直next即可。安装成功后,在cmd命令窗口 git –version 验证是否安装成功。

在GitHub上创建一个远程仓库

  首先必须有一个GitHub账号,这个小编就不多说了。然后我们登录GitHub账号,在自己的账号上创建一个repository,命名为 GitHubUserName.github.io

  • 注意:GitHubUserName 是你的GitHub账号名,例如:一个GitHub账号名是:zhangsan,则就必须创建仓库名为: zhangsan.github.io

git本地配置

  关于git配置,这里小编就不做介绍了,在小编的 CSDN 博客有 Git一系列的文章,大家可以去参考,小编的 CSDN 在本文左下角的图标点击可以显示左侧栏中有小编的友情链接中。

源文档存放以及 Hexo 安装

  这里我们需要在仓库中新建一个 hexo 分支用来存放我们的源文档,这里我们会有两个分支:master 和 hexo ,以后我们的所有操作都将在hexo分支进行,具体详情请继续看。

关联远程仓库

  这时,我们新建的远程仓库还是一个空仓库,这时我们可以在远程仓库创建一个文档,把这个仓库 clone 到本地,我们也可以在本地创建一个本地仓库关联到远程仓库,具体详情大家也可以看小编的 CSDN git一系列博客。

创建hexo分支

  本地关联GitHub成功后,我们在本地创建hexo分支并且切换到hexo分支上,执行如下命令:

1
git checkout -b hexo

Hexo安装

  我们在hexo分支下,执行如下命令,进行hexo安装:

1
npm install -g hexo-cli

注意:由于Hexo要求必须在空文档夹中执行init操作,所以我们需要在博客文档夹以外的地方新建一个空文档夹,之后点击鼠标右键选择 Git bash Here 输入以下命令,并将命令执行完成后文档夹中的所有文档复制到我们本地仓库文档夹中。

1
hexo init

  然后我们回到我们本地仓库进入 Git Bash Here 中,执行如下命令安装相关依赖:

1
npm install

  这时,我们本地博客已经搭建成功,我们可以执行如下命令,访问博客站点:

1
2
3
hexo generate (可以简写:hexo g)

hexo server (可以简写:hexo s)

启动成功后,我们可以在浏览器访问 :http://localhost:4000 查看。

博客本地资源推送到远程仓库以及部署

  本地仓库站点搭建成功了,下面我们就该把该内容推送到远程仓库了。

  • 编辑博客配置文档 _config.yml
      该文档在本地仓库根目录下的: _config.yml文档,在该文档的最低处,找到 deploy 关键字,配置如下,然后保存即可:

    1
    2
    3
    4
    deploy:
    type: git
    repo: # 这里配置你的远程仓库克隆地址
    branch: master
  • 推送本地资源到远程仓库hexo分支上:
      首先安装一个插件:

    1
    npm install hexo-deployer-git --save

      在本地仓库首先切换到 hexo分支上,执行如下命令:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    git add .

    git commit -m "提交信息"

    git push -u origin hexo

    hexo g

    hexo d

这时我们可以通过 http://GitHubUserName.github.io 访问我们的博客站点了,如果访问没有东西,可能是延迟的问题,多刷新几遍或者等几分钟在访问。

博客新建与管理

  我们这时候可以尽情的享受个人博客站点搭建成功的喜悦,尽情的写作吧!我们至于要在本地仓库的hexo分支做任何操作新建文章、标签、分类等,然后我们推送到远程仓库,然后生成的静态页面会在远程仓库master中,非常方便。

  • 博客新建文档或更新:

    1
    2
    3
    git add .
    git commit -m "提交信息"
    git push
  • 生成静态文档并且部署到GitHub中master分支上

    1
    2
    hexo g
    hexo d

多台电脑管理站点或者本地资源丢失

  当本地资料丢失或者需要进行再多台电脑上更新博客时,只需要按照下列步骤操作:

  • 我们只需要把hexo分支上的内容clone下来:

    1
    git clone ssh协议地址或者http协议地址
  • 然后,在本地新clone的文档夹下通过Git bash依次执行下列命令:

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

有关主题问题

  关于主题问题,小编算是摔坑里不少,这里小编就说说,这里的问题,我们会发现我们配置的主题并不能推送到我们的远程仓库,那是因为我们的主题是克隆下来的,也算是一个仓库了,我们还是对主题做另外的备份吧,不要想着关联自己的远程仓库,因为我们后期还是需要使用名令 git pull 更新主题呢,所以这个还是老老实实的自己想办法备份吧!我们会在另外一台电脑克隆下来的资源里没有主题,访问站点一片空白,那是因为没有主题,我们需要把我们备份好的主题复制到根目录下的 themes中,然后进入主题目录下进入 Git Bash Here 中,执行 git pull ,然后部署到自己远程仓库上即可。