C03【博客迁移与使用】将基于github pages的hexo博客迁移到新电脑
将基于github pages的hexo博客迁移到新电脑
本地仓库已经推到一个私有的git仓库中,且通过GitHub Actions 自动构建部署(解决异地更新),每次 push 自动构建并部署到 Pages。
因此,重装系统/更换电脑后直接从私有仓库 clone 即可,不必再从旧电脑拷贝整个文件夹。
私有仓库是博客的唯一真相源:文章、主题与站点配置、自定义脚本都在版本控制之下,随时可取回任意历史版本。
node_modules、public、db.json 等本机构建产物不入库,换电脑后由本机重新生成。
接下来就是在新电脑上启用运行环境。
一、GIT的安装与配置
安装git
Git - Install for Windows,前往官网下载对应安装程序;
运行安装程序,点击下一步,第一个选项界面保持默认;
到选择默认编辑器处(default editor),可保持默认的VIM编辑器,也可以选择其他编辑器;
若选择了其他编辑器,下方编注一个超链接,需点击前往对应编辑器的官网下载编辑器,安装完毕后才可继续git安装程序的下一步;
如果安装了编辑器,git安装程序仍不可点击【NEXT】,则需要取消git安装程序,返回第2步重新安装。
接下来是自定义仓库主分支的名字,不修改则保持默认的“master”,第二个选项可自定义名称;
接下来选择git的启动方式,默认第二种即可(随意启动,不需要使用git bash);
选择所使用的SSH组件,默认即可(安装程序自带);
选择证书库,默认即可;
选择换行符格式,默认即可(Windows style);
选择git bash调用的终端程序(MSYS2或者CMD),可保持默认MSYS2;
选择使用git pull命令时的操作逻辑,建议默认即可;
选择账号认证界面,默认即可;
额外功能,保持默认开启缓存功能;
读条安装完毕;
总结:可一路按next闭眼安装。
生产SSH密钥,与账号进行绑定
开始菜单找到git bash,运行
配置本地用户名(仅用于生成SSH密钥,作用备注):
1
2git config --global user.name "你的用户名"
git config --global user.email "邮箱"生成目前所用电脑的SSH密钥(注意:C是大写):
1
ssh-keygen -t rsa -C "邮箱"
输入命令回车后,会有两次让输入密码,如果是个人电脑,可以不输入密码,直接按回车跳过。
如果输入了密码,以后操作git仓库时就会提示让输入密码进行验证,适合在办公电脑或对仓库管理有严格需求时。
查看公钥:
1
cat ~/.ssh/id_rsa.pub
使用以上命令可查看公钥,然后选择右键点击复制即可。
或者可以去对应的文件夹,使用记事本打开对应的文件再框选复制。
打开浏览器登录GitHub,在右上角点开[Settings]-[SSH and GPG keys]-[SSH keys]-右侧点击[New SSH keys],粘贴刚刚复制的SSH公钥
克隆博客仓库
SSH 公钥绑定完成后,在任意目录运行:
1 | git clone git@github.com:magiku/magiku.hexo.git |
进入 magiku.hexo 目录即拥有博客完整源码(文章、主题配置、自定义脚本全在内),无需任何文件拷贝。
二、安装NODE.JS与项目依赖
安装Node.js
- Node.js — Download Node.js®,前往官网下载页面,往下拉,在Or get a prebuilt Node.js® for WINDOWS那里点击Windows Installer (.msi)
- 运行安装程序,一路同意下一步即可。
安装项目依赖
在克隆下来的博客根目录,即拥有以下文件夹/文件的位置,打开git bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16magiku@magiku-PC MINGW64 /d/magiku/magiku.hexo
$ ll
total 5.5M
-rw-r--r-- 1 magiku 197121 20K Oct 16 03:50 _config.butterfly.yml
-rw-r--r-- 1 magiku 197121 0 Oct 16 2023 _config.landscape.yml
-rw-r--r-- 1 magiku 197121 4.0K Oct 16 03:50 _config.yml
-rw-r--r-- 1 magiku 197121 5.1M Oct 16 15:12 db.json
drwxr-xr-x 1 magiku 197121 0 Oct 16 03:52 node_modules
-rw-r--r-- 1 magiku 197121 134K Oct 16 03:52 package-lock.json
-rw-r--r-- 1 magiku 197121 920 Oct 16 03:51 package.json
drwxr-xr-x 1 magiku 197121 0 Oct 16 15:06 public
drwxr-xr-x 1 magiku 197121 0 Jan 14 2026 scaffolds
drwxr-xr-x 1 magiku 197121 0 Oct 16 03:20 scripts
drwxr-xr-x 1 magiku 197121 0 Oct 16 03:20 source
drwxr-xr-x 1 magiku 197121 0 Jan 11 2026 themes
drwxr-xr-x 1 magiku 197121 0 Oct 15 21:14 toolsnode_modules/、public/、db.json 是本机构建产物,不在仓库里(.gitignore 已排除),clone 后由 npm ci 与 hexo generate 生成;目录中还有两个隐藏项:.github/(CI 工作流)与 .gitignore。
运行以下命令,按 package-lock.json 精确安装全部依赖。hexo、hexo-deployer-git 等组件均已声明在 package.json 中,无需再单独安装任何东西:
1
npm ci
接下来就可以测试博客能否正常编译运行:
1
2
3npx hexo clean
npx hexo generate
npx hexo server浏览器访问 localhost:4000 确认博客正常渲染,迁移即告完成。
三、正常编辑与上传博客
准备工作
在多台电脑交替写作,或上次编辑没有完全收尾的情况下,动手写新文章前先做两步检查,避免旧残留和新改动混在一起:
检查本地状态,确认没有上次遗留的未提交修改或未推送的提交:
1
git status
若存在未提交的修改,先决定去留:需要保留的,按下面的流程提交并推送干净;确认无用的再丢弃。切勿带着旧改动混进下一次提交。
拉取远程最新源码,确保本地与私有仓库一致后再开始创作:
1
git pull
若拉取时报冲突,说明两台电脑改到了同一处,手动解决冲突后再继续。
编辑与发布
在博客文件夹下使用git bash执行命令:
1
npx hexo new post 文章代号
打开博客文件夹/source/_posts,找到刚刚新建出来的markdown文件,打开进行编辑创作。
发布(常规方式):编辑完成后,提交并推送到 GitHub:
1
2
3git add .
git commit -m "新增文章:文章代号"
git pushpush 之后,仓库内置的 GitHub Actions 会自动执行「安装依赖 → 构建静态站点 → 部署到 magiku.github.io」全流程,一两分钟后线上生效。新电脑上无需任何额外配置——CI 所需的部署凭据已存放在仓库 Secrets 中。
应急方式:CI 异常或需要立即上线时,也可以跳过推送,在本机直接部署(需已完成第一步的 SSH 配置):
1
2
3npx hexo clean
npx hexo generate
npx hexo deploy
