hexo博客搭建可以看这里。
问题描述
博客搭建环境:hexo+gitpage,本地编写·markdown文件,通过hexo g -d渲染后上传至github repo。
相较于wordpress,hexo框架的博客编写基本是在本地完成,在其他机器写博客时需要备份并重新配置环境。但是nodejs环境文件很多,备份起来相当麻烦。
解决方案
大致有两种方案:
- 创建新仓库,备份源文件
- 创建新分支,备份源文件
创建备份
这里我们主要介绍github分支的方式:主分支用于渲染github page,分分支用于备份重要源文件。

创建新仓库的方式同理,就不介绍了(x)
在hexo根目录下创建git
最新版的hexo在初始化之后是没有.git目录的,通过_config.yml里面的deploy参数生成.deploy_git目录,并在通过该目录进行push操作。因此,我们直接在hexo根目录下创建.git目录和.gitignore并不会冲突。

创建本地git的方式有很多种,只需要将git的指向我们xxx.github.io的repo就行。
比如可以直接将xxx.github.io的整个repo克隆下来,然后复制其中的.git目录到hexo的根目录下。
创建.gitignore
常见的需要备份的文件大致有:
1 | scaffolds/ |
然而,每次筛选很麻烦,这里我们直接在hexo根目录下创建.gitignore排除剩下的不需要备份的文件。
示例如下:
1 | # .gitignore |
创建分支
在刚刚创建好git的hexo的根目录下执行:这里以 hexo_backup 分支为例
1 | git branch -a |
确保新分支不要与主分支重名……尽量不要取master、main这种名字就好。
提交备份
因为之前写了.gitignore,我们可以放心大胆的将当前目录全部commit:
1 | git add . |
远程仓库已有两个分支,因此必须指定分支hexo_backup,不能直接git push。

此时本地分支和远程分支匹配

此时已经备份完毕了。
迁移与复原
新环境配置
1 | npm install -g hexo-cli |
克隆备份分支
将原来的source, package.json等文件克隆到hexo根目录下
1 | git clone -b hexo_backup git@github.com:[username]/[username].github.io.git |
渲染与推送
1 | hexo clean |
主分支利用hexo自身集成的git组件进行推送:
