在上上篇博文中描述了如何将博客源文件推送到GitHub
私有仓库备份,这篇文将讲述如何从GitHub
私有仓库clone至本地重构 Hexo 环境来写博客
网上也有很多文章描述如何操作,也可以去参考,我记录我的操作过程如下
下载安装Git 和 node.js
- 去官网下载软件包Git (git-scm.com) ,以往的版本 | Node.js (nodejs.org)
- Git 版本可安装最新的或保持和原环境一致版本
- Hexo 版本和原环境的保持一致(npm安装@指定版本号:npm install -g hexo-cli@4.x.x )
- node.js 版本保持和原环境一致,因为 Hexo 版本 对 node.js 版本有要求
- 安装过程基本点“下一步”,注意环境变量的“Add to PATH”勾上
克隆私有仓库至本地
添加本地 Git 配置
**注意:**因为是私有仓库,克隆需要验证权限,安装完成 Git 后先配置用户、邮箱、ssh keys
我使用的全局配置用户,对于同时推送代码到不同网站的,请按照多用户多仓库的方法配置
git config --global user.name "xxx"
git config --global user.email "xxx@xxx.com"
生成公钥,添加 Github SSH Keys
生成公钥
ssh-keygen -t "选一个官方的算法" -C xxx@xxx.com
然后接下来的你应该懂了,复制公钥内容-->>粘贴到Github的 SSH Keys -->> 添加
测试连接
$ ssh -T git@github.com
Hi xxxx! You've successfully authenticated, but GitHub does not provide shell access.
有上面的提示说明成功了
克隆私有仓库至本地
git clone 命令跟一个本地路径,克隆下来的文件就在这个目录了,不加目录克隆的话克隆下来的是包含你私有仓库名称的一个文件夹
**注意:**命令后跟的本地路径,不要手动创建,否则会提示目录已存在,克隆失败
git clone git@github.com:kiraster/xxxx-xx.git "D:\Blog"
安装 Hexo 和 其他npm插件
**注意:**重构 Hexo 环境只需以下的文件,但是其他文件也可以存在
package-lock.json
这个文件如果执行下一步提示报错就删掉,或者直接删掉
_config.yml
package.json
scaffolds/
source/
themes/
安装 Hexo 和 其他插件
安装 Hexo 保持和原电脑的版本一致
# 查看版本
hexo -v
# 安装
npm install -g hexo-cli@4.x.x
# 安装后查看版本
hexo -v
安装npm
# 修改npm 淘宝镜像
npm confg set http://registry.npm.taobao.org
# 查看设置
npm config list
# 安装 npm
npm install
若这一步报错ERROR Try running: 'rm -rf node_modules && npm install --force' 按照提示操作
rm -rf node_modules && npm install --force
npm会按照 package.json 这个文件的内容自动按照插件,你也可以记事本打开这个文件查看安装的插件
注意:
- 一些插件提示不再更新维护支持之类的,取决于主题使用到的插件和旧版本 Hexo 使用的插件,大家自己决定
- 一些插件可能需要从 GitHub 公共仓库下载文件,保障新电脑网络环境能联网
- 我的环境就是有个文件下载不来,所以去手动下载,拷贝到对应的目录
- 大家可以看提示错误,按提示操作,查缺补漏,少的模块文件
本地启动预览
hexo clean && hexo g && hexo s
- 观察启动过程,是否有报错信息,按提示解决对象报错,不明的可以去搜索引擎
scripts/
下的脚本,如果新电脑和原电脑路径等不一致记得修改- 完成这一步骤,基本上就大功告成了
推送至 GitHub 仓库
hexo clean && hexo g && hexo d
因为这一步我的环境有 自动备份源文件到 私有仓库的脚本所以要按照上上篇文章的方式操作一轮
设置本地 Hexo 目录的 Git
git init
git branch -M main
git remote add origin git@github.com:kiraster/xxxx-xx.git
完结。