实现不同电脑快速写HEXO博客

📋
本教程引用自itswincer.com
本人作一个修改方便自己使用而已


使用Hexo在github搭建的博客,博客作为一个单独的GitHub仓库存在,但是这个仓库只有生成的静态网页文件,并没有Hexo的源文件,如果要换电脑或者重装系统后,就比较麻烦了,这里推荐一种方法。

1.备份

创建仓库nolevo.github.io,如果同名仓库之前已经创建,请将之前的仓库改名,新建的仓库必须是Username.github.io例如我的是noleve
创建两个分支:master和hexo;
设置hexo为默认分支;
将刚刚创建的新仓库clone至本地:
使用

1
git clone https://github.com/username/username.github.io.git

将仓库拷贝至本地

将之前的hexo文件夹中的

1
2
3
4
5
6
_config.yml  
themes
source
scaffolds
package.json
.gitignore

六个文件复制至nolevo.github.io文件夹;注意要
将themes/next/(我用的是NexT主题)中的.git/删除,否则无法将主题文件夹push;
在nolevo.github.io文件夹执行

1
2
npm install
npm install hexo-deployer-git

这里可以看一看分支是不是显示为hexo;

执行

1
2
3
git add .
git commit -m "随你写什么在这里"
git push origin hexo

来提交hexo网站源文件;

执行hexo g -d生成静态网页部署至Github上。
这样一来,nolevo.github.io仓库就有master分支和hexo分支,分别保存静态网页和源文件。

2.修改

在本地对博客修改(包括修改主题样式、发布新文章等)后:

依次执行

1
2
3
git add .
git commit -m "随你写什么在这里"
git push origin hexo

来提交hexo网站源文件

执行hexo g -d生成静态网页部署至Github上。

3.恢复

重装电脑后,或者在其它电脑上想修改博客:

安装git;
安装Nodejs;
使用

1
git clone https://github.com/username/username.github.io.git

将仓库拷贝至本地;
在文件夹内执行以下命令
npm install
npm install -g hexo-cli
npm install hexo-deployer-git

如果是在本机另一个文件夹恢复,只需使用

1
git clone https://github.com/username/username.github.io.git

将仓库拷贝至本地
修改或增加内容后直推就是,我是通过.sh脚本去运行add,commit,push三个命令的,方便快捷有木有

4.附录

这里稍作说明:

1.添加ssh-keys

在终端下运行:ssh-keygen -t rsa -C “yourname@email.com“,一路回车;
会在.ssh目录生成id_rsa、id_rsa.pub两个文件,这就是密钥对,id_rsa是私钥,千万不能泄漏出去;
登录Github,打开「Settings」–>「SSH and GPG keys」,然后点击「new SSH key」,填上任意Title,在Key文本框里粘贴公钥id_rsa.pub文件的内容,注意不要粘贴成id_rsa,最后点击「Add SSH Key」。

2.hexo的源文件

这里说一下步骤4为什么只需要拷贝6个,而不需要全部:

_config.yml站点的配置文件,需要拷贝;
themes/主题文件夹,需要拷贝;
source博客文章的.md文件,需要拷贝;
scaffolds/文章的模板,需要拷贝;
package.json安装包的名称,需要拷贝;
.gitignore限定在push时哪些文件可以忽略,需要拷贝;
.git/主题和站点都有,标志这是一个git项目,不需要拷贝;
node_modules/是安装包的目录,在执行npm install的时候会重新生成,不需要拷贝;
public是hexo g生成的静态网页,不需要拷贝;
.deploy_git同上,hexo g也会生成,不需要拷贝;
db.json文件,不需要拷贝。
其实不需要拷贝的文件正是.gitignore中所忽略的。


End