多台电脑同步提交博客

由于Hexo属于静态博客,文章内容都是本地存储,只有静态页面(public文件夹)会push到git上面。如果我们更换电脑的话,配置相同的环境、依赖和博客文件,如果用U盘拷贝就太low了。所以我们可以利用Github远程仓库来实现多台终端的博客更新部署。

主要思路是利用git的分支,把静态博客页面文件放在master主分支,把hexo的部署环境文件和博客原文放在新建的Hexo分支上。

# 一、Hexo的原理和依赖

1、环境

Hexo需要有Node.js环境和Git环境,这在哪个电脑都必须有的。

2、资源配置依赖

首先要安装Hexo

1
npm install -g hexo-cli 

hexo所需要的包信息都已经存储在package.json文件中了,我们可以直接利用这个文件,执行命令行安装所需资源:

1
npm install

3、博客内容

博客的内容主要就是主题文件和博客文件

  • node_modules: hexo所需要的文件,这个文件不需要上传git
  • themes:主题文件
  • source:博文的md文件
  • public:生成的静态页面,这个一般都clean掉
  • _config.yml:全局配置文件
  • .gitignore:hexo自动生成的,里面一般会记录node_modules,我们不许要改,这个文件就会被忽略掉

二、Git仓库修改

对我们之前创建的username.github.io仓库,创建一个新的hexo分支,并在仓库->Settings->Branches->Default branch中把这个分支设置为默认分支。clone到本地,此时本地应该是Hexo分支。

之后我们把我们之前写的博客目录下的文件,全部拷贝到这个本地仓库中【注意要把之前themes目录中的.git文件删掉。因为一个git目录下不能有另一个git仓库。如果我们需要更新主题文件,只能把主题clone到本地后进行拷贝覆盖】。然后提交git到Hexo分支:

1
2
3
git add .
git commit -m 'update'
git push

此时我们观察github,可以看到,master分支里面保存着静态博客资源(在_config.yml中的Deployment配置的),Hexo分支备份博客部署文件,供我们维护更新。两者在一个仓库中互不干扰。

三、新的提交操作

目前我们在写博客时,就要在提交前做git更新了

1
2
3
4
5
6
7
8
9
10
11
git pull     //提交前最好更新最新


git add .
git commit -m 'update'
git push


hexo clean
hexo g
hexo d