由于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
3git add .
git commit -m 'update'
git push
此时我们观察github,可以看到,master分支里面保存着静态博客资源(在_config.yml中的Deployment配置的),Hexo分支备份博客部署文件,供我们维护更新。两者在一个仓库中互不干扰。
三、新的提交操作
目前我们在写博客时,就要在提交前做git更新了 1
2
3
4
5
6
7
8
9
10
11git pull //提交前最好更新最新
git add .
git commit -m 'update'
git push
hexo clean
hexo g
hexo d