GitHub+Hexo搭建博客的过程比较平滑,但是它的配置却非常耗时间,一旦电脑出现问题或者需要在另外一台电脑上写博客,那么Hexo博客的迁移非常就让人头疼。下面参考其他博客的方法,整理出一个能在平时就管理重要文件的方法,方便随时迁移
必备文件
Hexo博客系统中影响迁移的只有一部分文件和文件夹,所以只需要备份它们即可
文件(夹) | 说明 |
---|---|
scaffolds/ | 博客文章的模版 |
source/ | 所有博客文章,以及about、tags、categories等page |
themes/ | 网站的主题 |
.gitignore | 在push时需要忽略的文件和文件夹 |
_config.yml | 站点配置文件 |
package.json | 依赖包的名称和版本号 |
我们要做的就是通过各种方式备份这些文件和文件夹,比如说以下两种静态备份方式:
- 通过U盘或移动硬盘保存
- 通过网盘保存
上述两种方式可以用于备份不经常改变的文件,可是我们需要备份的比如博客文章、Hexo配置文件和主题配置文件是需要经常更改的,所以需要其它方式动态备份
参考其它博客了解到可以通过创建Hexo博客系统的分支进行备份
创建分支目录
先新建一个hexo文件夹,作为分支的工作目录,用于保存将要备份的文件和文件夹
$ mkdir hexo
再把GitHub上的Hexo仓库clone到hexo文件夹中
$ git clone git@github.com:liuzheGit/liuzheGit.github.io.git hexo
删除除了.git文件夹的其它所有文件和文件夹,主要是为了得到版本管理的.git。下面命令不会删除隐藏文件和文件夹
$ cd hexo
$ rm -r *
最后把需要备份的文件和文件夹都复制到hexo文件夹下,hexo的目录结构应该如下
scaffolds/
source/
themes/
.git/
.gitignore
_config.yml
package.json
如果使用的主题是从GitHub克隆的,那么主题文件夹下有Git管理文件,需要将它们移除,我使用的是fexo,需要移除的文件如下
$ rm -R themes/fexo/.git*
创建分支
创建一个叫hexo的分支
$ git checkout -b hexo
保存所有文件到暂存区
$ git add --all
提交变更
$ git commit -m "创建hexo分支"
推送到GitHub,并用–set-upstream与origin创建关联,将hexo设置为默认分支
$ git push --set-upstream origin hexo
转载者(lttztt)注
我目前就用前面的就能很好的管理我的博客和我的文档了,用hexo分支存放hexo配置和博客markdown文档, 用 master 在github page 上做静态博客服务展示。
合并管理
现在我们的博客系统有两个需要管理的文件夹,一个是hexo,另一个是username.github.io,每次发表新文章都需要分别对这两个文件夹进行提交管理,显然是很蠢的行为
因为我们需要手动管理的只是hexo中的文件,而.gitignore之外的文件由Hexo管理,所以可以将这两个文件夹进行合并管理
之前已经将需要备份的文件加入了hexo分支,所以直接将hexo分支中的.git文件夹复制到username.github.io文件夹中
$ cp -a .git ../liuzheGit.github.io
查看当前的分支,确保处于hexo分支下
$ cd ../liuzheGit.github.io
$ git branch -v
还需要移除主题目录下的Git管理文件
$ rm -R themes/fexo/.git*
查看Git当前状态,还需要对.gitignore文件进行编辑,确保忽略不备份的文件
$ git status
master分支的文件则需要Hexo进行管理,编辑 _config.yml站点配置文件,设置branch为master
deploy:
type: git
repo: https://github.com/liuzheGit/liuzheGit.github.io.git
branch: master
发表文章
新建Markdown文章,编辑文章
$ hexo new test
将相关更改推送到hexo分支
$ git add .
$ git commit -m "发表文章test"
$ git push origin hexo
将静态文件推送到master分支
$ hexo clean # 如果配置文件没有更改,忽略该命令
$ hexo g -d
在GitHub上查看hexo分支如下图所示
迁移
将hexo分支克隆下来
$ git clone -b hexo git@github.com:liuzheGit/liuzheGit.github.io.git
然后安装Hexo依赖
$ npm install
这样就可以简单的将Hexo博客迁移到任何电脑上了 : )
参考
原文:https://blog.csdn.net/white_idiot/article/details/80685990