通过双分支管理,可以在github上备份hexo的所有内容,从而实现多端部署
分支介绍
- master分支:用于保存静态文件,部署pages
- backup分支:用于保存源代码和配置文件,备份
初始准备
进入hexo的远程仓库(github pages)新建backup分支,并设置为默认分支,使用git branch -a检查
备份过程
hexo环境端A
假设A主机为已经配置好hexo环境
进入博客目录
cd /path/to/blog
初始化git
git init
添加远程仓库
git remote add origin https://github.com/username/username.github.io.git
切换到backup分支
git checkout -b backup
添加.gitignore
| 1 | cat > .gitignore << EOF | 
交所有源文件到backup分支
| 1 | git add . | 
同步端B
假设B为新的需要同步管理的端
克隆backup分支
| 1 | git clone -b backup https://github.com/username/username.github.io.git blog | 
安装hexo和依赖
| 1 | npm install -g hexo-cli | 
验证配置
| 1 | hexo clean | 
使用流程
同步更新
| 1 | git checkout backup | 
正常的hexo写作
| 1 | hexo new "test" | 
发布
| 1 | git add . | 
注意
如果需要同步主题设置等(最好同步,因为很多自定义设置都在主题文件夹下)需要额外的操作:
把theme/theme_name作为submoudle
| 1 | git submodule add <repository-url> themes/<theme_name> | 
直接把theme当做同级别的备份文件
不把theme作为子模块,这样同步管理更方便,简单
| 1 | git rm -f themes/next | 
再同步push一次,就可以把theme同步了