更换终端后博客环境重建
在电脑的系统重装之后,git、nodejs等环境丢失,如果需要继续更新博文的话,则需要重新配置环境,这就是个非常棘手的问题。
主要思路是利用git分支来实现hexo的同步。
主要思路:
hexo生成的静态页面文件默认放在
master
分支上,这是由_config.yml
配置文件所决定的,因此每当我们执行hexo d
的时候,hexo都会帮我们把生成好的静态页面文件推到master分支上。执行hexo d对应的分支和默认分支是没有关系的,因为这是由配置文件决定的,配置文件(master)写的哪个分支就是哪个分支。
hexo的源文件(部署环境文件)可以都放在
hexo
分支上。然后设置成默认hexo
分支。
操作概述
- 把hexo分支设置成默认分支,用来存放源文件,master分支依然存放静态文件。在老电脑上,我们需要把必要的源文件push到hexo分支。换新电脑时,直接git clone 仓库地址此时会从hexo分支下载源文件,剩下的就是安装hexo环境,在新电脑上就可以重新生成静态页面了,并且因为配置文件clone下来,deploy配置依旧是master分支,所以在新电脑上执行hexo d还是会把更新过后的静态文件推送到master分支上。
- 由于master分支和hexo分支实际上是相互独立的两个普通的分支,所以我们源文件和静态页面的更新也是相互独立的,故而需要手动分别执行
git add .
,git commit
,git push
来更新源文件,然后执行hexo d
更新静态页面。 - 下面,我将记录如何快速有效的进行博客资料的备份及环境的快速配置。
一、旧电脑上的操作
1. Github新建hexo分支,专属存放博客源文件
(1) 在master分支中,存放的则是电脑Blog文件—>
.deploy_git
文件夹里面的文件。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21\.git
\2021
\2020
\about
\album
\archives
\categories
\css
\friend
\img
\media
\live2d
\message
\music
\self-talking
\tags
\......
CNAME
content.json
index.html
manifest.json
(2) 在自己博客仓库中,新建一个hexo分支,并设置为默认分支,此分支专门存放博客的源文件,即使在更换电脑后,也可以git clone
到新电脑。
1 | # 老电脑Blog文件夹中的所有文件 |
在本地将自己仓库git clone
到本地之后,将YourGithubName.github.io文件夹里面的文件 保留.git
文件夹 剩余文件全部删除,并将老电脑里面除去.deploy_git
文件夹之外的文件夹全部放入YourGithubName.github.io文件夹中。
注意:
- 现在clone下来的文件夹内应该有个
.gitignore
文件,用来忽略一些不需要的文件,表示这些类型文件不需要git。如果没有,右键新建,内容如下:- 这里把themes/amazing中的**
.git/
**目录删除!!!不能重复提交.git文件。
1 | .DS_Store |
通过一下命令进行推送:
1 | git add . |
此时已经成功将整个网站的源文件推送到了远程库的默认hexo
分支。
二、新电脑上的操作
1 | git config --global user.name "username" |
检测自己的用户名和邮箱是否正确:
1 | git config user.name |
1 | cd ~/.ssh # 生成密钥 |
按3次回车之后会在C:\Users\xxx.ssh文件夹中生成2个文件,将id_rsa.pub
中的公钥内容添加到GitHub上。
将公钥添加完成后,在控制台输入:
1 | ssh -T [email protected] |
注意:这里在输入框需要第一次回车后,输入yes
,如果配置成功,可以看到成功的回复。
在新电脑上克隆username.github.io仓库的hexo分支(就是存放源码的分支)到本地,此时本地git仓库处于source分支,可以执行代码查看。
1 | git branch -v |
在新电脑的username.github.io文件夹下执行:
1 | npm install hexo # 安装hexo博客框架 |
最后执行
1 | hexo c # 清空已有hexo网站文件 |
等等一些常用命令即可提交成功。
这里提一嘴,当新电脑上的操作成功之后,其实对于新电脑还是老电脑其实都无所谓了,任何一台电脑包括老电脑只要安装了NodeJs环境,就都可以按照在新电脑上的操作完整地复刻出一个hexo环境,你甚至可以把老电脑原有的hexo工程删掉再执行上面这几步一样可以快速构建hexo环境,可以看到步骤非常简单。
此外,为了保证同步,推荐先git pull
合并更新再进行博客的编写。