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
组件进行推送: