widiot的博客

生也有涯,学无止境;学而不思则罔!

【GitHub】创建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 https://github.com/widiot/widiot.github.io hexo

删除除了.git文件夹的其它所有文件和文件夹,主要是为了得到版本管理的.git。下面命令不会删除隐藏文件和文件夹

$ cd hexo
$ rm -r * 

最后把需要备份的文件和文件夹都复制到hexo文件夹下,hexo的目录结构应该如下

scaffolds/
source/
themes/
.git/
.gitignore
_config.yml
package.json

如果使用的主题是从GitHub克隆的,那么主题文件夹下有Git管理文件,需要将它们移除,我使用的是hexo-next,需要移除的文件如下

$ rm -R themes/next/.git*

创建分支

创建一个叫hexo的分支

$ git checkout -b hexo

保存所有文件到暂存区

$ git add --all

提交变更

$ git commit -m "创建hexo分支"

推送到GitHub,并用--set-upstream与origin创建关联,将hexo设置为默认分支

$ git push --set-upstream origin hexo

合并管理

现在我们的博客系统有两个需要管理的文件夹,一个是hexo,另一个是username.github.io,每次发表新文章都需要分别对这两个文件夹进行提交管理,显然是很蠢的行为

因为我们需要手动管理的只是hexo中的文件,而.gitignore之外的文件由Hexo管理,所以可以将这两个文件夹进行合并管理

之前已经将需要备份的文件加入了hexo分支,所以直接将hexo分支中的.git文件夹复制到username.github.io文件夹中

$ cp -a .git ../widiot.github.io

查看当前的分支,确保处于hexo分支下

$ cd ../widiot.github.io
$ git branch -v

还需要移除主题目录下的Git管理文件

$ rm -R themes/next/.git*

查看Git当前状态,还需要对.gitignore文件进行编辑,确保忽略不备份的文件

$ git status

master分支的文件则需要Hexo进行管理,编辑 _config.yml站点配置文件,设置branch为master

deploy:
    type: git
    repo: https://github.com/widiot/widiot.github.io
    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 https://github.com/widiot/widiot.github.io

然后安装Hexo依赖

$ npm install

这样就可以简单的将Hexo博客迁移到任何电脑上了 : )

只是每次发表新文章要输入很多命令和密码 : (

参考文章

  1. hexo换电脑
  2. 换了电脑如何使用hexo继续写博客
  3. Hexo博客从一台电脑迁移到其他电脑
阅读更多
版权声明:知识需要传播,如有需要,请任意转载 https://blog.csdn.net/White_Idiot/article/details/80685990
个人分类: 开源
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭