hexo 博客利用 github 分支同步源文件

  hexo 是一个优秀的静态博客工具,唯一的不足就是源文件无法同步,让人几乎只能在一台电脑上写博客,为了解决这个问题,我们可以使用 Github 来管理我们的 hexo 源文件,具体思路就是:在我们博客的远程仓库中新建一个分支,用这个分支来存储博客的源文件,这样我们每次在更新博客并部署之后可以顺手多执行两条命令将源文件同步到远程分支中去,不需要做任何环境切换的操作,还可以将部署和同步操作写成一个命令脚本,自动执行以上命令。建立同步的过程很简单:

初始化版本库&建立仓库关联(已与远程仓库关联的可忽略这一步)

  一般根据 hexo 教程一步步建立起来的博客都没有跟自己的远程仓库建立关联,查看是否关联的方法是输入 git remote 看是否有关联的远程仓库:
Alt text
可以看到我这里有一个名叫 origin 的仓库与我本地的文件夹关联,如果当前还没有关联,先用 git init 命令将你的本地文件夹初始化成一个版本库,然后使用 git remote add origin 你的github仓库地址 命令来建立与远程仓库的关联,这里的 origin 是你定义的远程仓库在本地的名字,你也可以叫别的,一般命名成 origin,这样就建立好了关联了,使用刚刚的 git remote 命令检测会看到你关联的仓库。

提交文件

  像正常提交文件那样使用 git addgit commitgit push 命令提交文件,但这里在 push 的时候要注意新建一个分支去存你要提交的源文件,具体命令是 git push -u origin HEAD:分支名,这里的分支名自己取,HEAD 是版本库的头指针的意思,代表本地版本库里面的最新版本,origin 是刚刚你自己添加远程关联时候的名字,如果你的不是叫 origin 就写成自己定义的名字, -u 参数是为了建立本地分支与远程分支的关联,以后 push 的时候直接输入 git push 就可以了,所以这整个命令的意思就是:把本地最新版本的代码提交到远程仓库的某个分支上去,如果远程仓库还没有这个分支,就在远程仓库里新建一个分支,然后将它跟本地当前分支关联起来。提交之后你就会发现自己的 github 仓库多了一条分支,就是你刚刚提交的那个分支。
  至于这里为什么不先在 github 上面手动建立分支,然后再在本地建立关联,是因为如果是远程手动建立分支会自动以 master 分支为模板建立一份一模一样的文件,而我们仓库里面 master 分支存的都是经过 hexo 编译的文件,跟源文件完全不一样,新建这样一个分支之后还要手动把里面的文件删掉,另一个原因是如果在远程手动建分支,你在本地还得手动用 git fetch origin 拉取远程分支的更新,然后再手动建立与分支的关联,比较麻烦,当然如果你是刚开始部署 hexo,github 仓库里面还一点东西都没有的话这些问题都不存在,那就随意。

设置默认分支

  最后我们需要把你新建的那个分支设置成 github 的默认分支,这样做的原因是为了你以后在别的机器上拉取代码的时候能够直接拉取源文件,不用再指定分支。
Alt text
在这里选择好默认分支之后,update就行了。现在你就可以使用 github 来同步自己的 hexo 博客源文件啦~