更换终端后博客环境重建

  在电脑的系统重装之后,git、nodejs等环境丢失,如果需要继续更新博文的话,则需要重新配置环境,这就是个非常棘手的问题。
  主要思路是利用git分支来实现hexo的同步。

主要思路

  1. hexo生成的静态页面文件默认放在master分支上,这是由_config.yml配置文件所决定的,因此每当我们执行hexo d的时候,hexo都会帮我们把生成好的静态页面文件推到master分支上。

  2. 执行hexo d对应的分支和默认分支是没有关系的,因为这是由配置文件决定的,配置文件(master)写的哪个分支就是哪个分支。

  3. 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
2
3
4
5
6
7
8
9
10
11
# 老电脑Blog文件夹中的所有文件
\.deploy_git # 这是Github仓库里需要的文件,hexo g自动生成的(不能上传到Hexo分支!)
\node_modules # hexo需要的基础npm安装模块,执行npm install时重新生成(不需上传至Hexo分支)
\public # hexo g命令执行后生成的静态页面文件(不需上传至Hexo)
\scaffolds # 文章的模板(必须上传)
\source # 核心内容:自己的文章帖子!(必须上传)
\themes # 主题文件(必须上传)
_config.yml # 全局配置文件(必须上传)
package.json # 记录hexo需要的包,换电脑后npm根据信息来安装hexo环境(必须上传)
package-lock.json
db.json
  • 2. 源文件上传hexo分支

  在本地将自己仓库git clone到本地之后,将YourGithubName.github.io文件夹里面的文件 保留.git文件夹 剩余文件全部删除,并将老电脑里面除去.deploy_git文件夹之外的文件夹全部放入YourGithubName.github.io文件夹中。

注意:

  • 现在clone下来的文件夹内应该有个.gitignore文件,用来忽略一些不需要的文件,表示这些类型文件不需要git。如果没有,右键新建,内容如下:
  • 这里把themes/amazing中的**.git/**目录删除!!!不能重复提交.git文件。
1
2
3
4
5
6
7
.DS_Store
Thumbs.db
db.json
*.log
node_modules/
public/
.deploy*/
  • 3. 将clone并修改以后的文件夹推送到远程库

  通过一下命令进行推送:

1
2
3
git add .
git commit –m "add_branch"
git push

  此时已经成功将整个网站的源文件推送到了远程库的默认hexo分支。

二、新电脑上的操作

  • 1. 安装git与nodejs

    配置Git:

1
2
git config --global user.name "username"
git config --global user.email "email"

  检测自己的用户名和邮箱是否正确:

1
2
git config user.name
git config user.email
  • 2. 将新电脑的生成的ssh key添加到GitHub账户上

1
2
cd ~/.ssh                                   # 生成密钥
ssh-keygen -t rsa -C "[email protected]" # ""中填写自己github绑定的邮箱

  按3次回车之后会在C:\Users\xxx.ssh文件夹中生成2个文件,将id_rsa.pub中的公钥内容添加到GitHub上。

  将公钥添加完成后,在控制台输入:

1
ssh -T [email protected]

  注意:这里在输入框需要第一次回车后,输入yes,如果配置成功,可以看到成功的回复。

  • 3. 克隆username.github.io仓库

  在新电脑上克隆username.github.io仓库的hexo分支(就是存放源码的分支)到本地,此时本地git仓库处于source分支,可以执行代码查看。

1
git branch -v
  • 4. 配置环境与依赖包

  在新电脑的username.github.io文件夹下执行:

1
2
3
npm install hexo               # 安装hexo博客框架
npm install # 读取package.json的包信息自动安装依赖包
npm install hexo-deployer-git # 安装部署插件(不需要hexo init这条指令)
  • 5. 上传博客文章

  最后执行

1
2
3
4
hexo c       # 清空已有hexo网站文件
hexo g # 依据网页文本与新的CSS样式生成新网站文件
hexo s # 启动本地服务器,可以在localhost:4000查看网站修改效果
hexo d # 将include/文件中的内容部署到Github中

  等等一些常用命令即可提交成功。

  • 6. 注:题外话

  这里提一嘴,当新电脑上的操作成功之后,其实对于新电脑还是老电脑其实都无所谓了,任何一台电脑包括老电脑只要安装了NodeJs环境,就都可以按照在新电脑上的操作完整地复刻出一个hexo环境,你甚至可以把老电脑原有的hexo工程删掉再执行上面这几步一样可以快速构建hexo环境,可以看到步骤非常简单。
  此外,为了保证同步,推荐先git pull合并更新再进行博客的编写。


发布于

2022-05-07

更新于

2023-11-20

许可协议

评论

:D 一言句子获取中...