Hexo+GitHub Pages如何搭建并异地管理Blog


最近看到知乎上出了一篇《5分钟 搭建免费个人博客》的文章,鉴于最近公司比较闲,于是乎便跟着作者所给的教程走了一遍,结果发现作者在写的时候好像写错了一个地方,在安装Nodejs的时候,作者告诉用HomeBrew安装,但是我在安装的时候发现采用HomeBrew安装存在一些问题,于是乎从GitHub上找到了nvm的原作者Tim Caswell发现其实nvm并不支持Homebrew的安装,只能采用curl或者wget的方式安装,所以说如果有通过上述文章搭建博客的同学注意了,采用如下方式:


就可以了。但是文中并没有说明如何异地来管理博客,众所周知如果代码不能异地管理那么我们仅凭每天拷贝代码来管理代码这得多么痛苦,所以结合GitHub Pages + Hexo搭建博客这篇文章我决定重新写一篇如何搭建并如何异地管理博客的文章。

在这里我给大家提供两种方式来供大家使用,一种是开源仓库一种是私密仓库,都是基于Git的一种托管。

好了废话不多说,在开始之前请大家查看一下系统有没有安装Git,Nodejs以及Hexo。不管你是第一次建立博客还是说异地管理都需要上述三个方面的支持。



  • 采用GitHub Pages仓库对应的分支进行管理


  • 首先就像《5分钟 搭建免费个人博客》这个文章中说的一样,打开自己的GitHub如果没有自己就注册一个,然后如下图



    点击New,进入到如下图所示内容



    创建一个本地仓库。仓库名称的前缀要与你的名字一样。然后进入下图所示,创建一个名字为hexo的分支用来管理你博客的hexo代码。


    点击Setting中的Branches选项,将hexo设置为默认分支,如下图,


    点击update即可。返回到分支上使用
    git clone https://github.com/ClayGuitar/ClayGuitar.github.io.git

    这个命令将你的仓库克隆到你想克隆的地方。然后cd到你刚才clone的仓库下面,

    git branch -a

    查看一下你所在的分支,在确保是在hexo分支的情况下运行命令

    hexo init如图:



    等运行完后使用以下命令

    hexo s
    ,
    如下图



    进入上述网址查看以下hexo创建的博客是否成功,在这里推荐一下hexo-theme-vno一个博客主题。

    测试没问题后在仓库目录下安装hexo-deployer-git

    npm install hexo-deployer-git –save

    这个时候你会认为已经完成了,但是不好意思,并没有,你会发现在使用了hexo init命令后原有的远程仓库不见了,所以这个时候需要你重新加载一下远程仓库,使用如下命令


    1. git init
    2. //初始化本地仓库
    3. git remote add origin https://github.com/ClayGuitar/ClayGuitar.github.io.git
    4. //添加远程仓库
    5. git fetch && git checkout hexo
    6. //拉取并且切换到hexo分支

    然后大功告成,打开你仓库的目录下的_config.yml文件,将其deploy参数改一下,如下图


    接下来就是发布到你的GitHubPages上去了,命令如下

    hexo clean && hexo g && hexo d


    输入在浏览器上输入http://clayguitar.github.io/看下有没有问题,如果没有那就运行以下命令将所有的文件提交到hexo分支上。

    1. git add .

    2. git commit -m’提交hexo文件’

    3. git push origin hexo


    下次异地管理的时候只需电脑确保有Git、Nodejs以及Hexo环境下,直接git clone将项目从GitHub上clone到本地,然后cd到仓库目录下,运行以下命令:

    rm -rf .deploy_git

    将.deploy_git隐藏文件夹删除,不然hexo g -d部署博客的时候会将整个项目部署到其master分支上。然后再执行上述发布到GitHub Pages以及提交分支命令即可。
  • 采用私有仓库管理


  • 我是利用Bitbucket来管理私人仓库的,你也可以用别的私人仓库,其实都大同小异。这里我还是以Bitbucket为例,

    • 1.创建私有仓库



    • 2.打开我有一个已经存在的项目

      根据提示的命令行进行操作,在这里如果文件夹没有git本地仓库记得先

      git init

      一下。然后再

      git remote add origin https://bielian@bitbucket.org/bielian/hexo.git


    剩下的步骤就参考上述GitHub分支如何异地管理步骤。