创建Git分支将Hexo博客迁移到其它电脑

GitHub+Hexo搭建博客的过程比较平滑,但是它的配置却非常耗时间,一旦电脑出现问题或者需要在另外一台电脑上写博客,那么Hexo博客的迁移非常就让人头疼。下面参考其他博客的方法,整理出一个能在平时就管理重要文件的方法,方便随时迁移

必备文件

Hexo博客系统中影响迁移的只有一部分文件和文件夹,所以只需要备份它们即可

文件(夹) 说明
scaffolds/ 博客文章的模版
source/ 所有博客文章,以及about、tags、categories等page
themes/ 网站的主题
.gitignore 在push时需要忽略的文件和文件夹
_config.yml 站点配置文件
package.json 依赖包的名称和版本号

我们要做的就是通过各种方式备份这些文件和文件夹,比如说以下两种静态备份方式:

  1. 通过U盘或移动硬盘保存
  2. 通过网盘保存

上述两种方式可以用于备份不经常改变的文件,可是我们需要备份的比如博客文章、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


   转载规则


《创建Git分支将Hexo博客迁移到其它电脑》 lttztt 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
我的gitignore整理 我的gitignore整理
目前的.DS_Store node_modules //包文件 *.log //缓存文件 .vscode/ //vs编辑器的配置 .cache/ //缓存文件 // webstorm 生成的文件 .idea *.iml
2018-12-28
下一篇 
windows下改键AutoHotKey windows下改键AutoHotKey
Win下效率神器: AutoHotKeyAutoHotkey是一个windows下的开源、免费、自动化软件工具。它由最初旨在提供键盘快捷键的脚本语言驱动(称为:热键),随着时间的推移演变成一个完整的脚本语言。但你不需要把它想得太深,你只需要
2018-12-24
  目录