如何在新电脑上更新hexo博客,具体操作流程

换了新电脑后继续更新 Hexo 博客,核心是恢复源文件和环境配置。以下是两种高效方法,根据你的旧电脑文件备份情况选择:

一、源文件直接拷贝法(适合已备份旧电脑源文件)

1. 安装基础环境

1
2
git --version
node -v

2. 配置 GitHub 新电脑 SSH 密钥

从官网Git下载git,在新电脑上安装,因为https速度慢,而且每次都要输入口令,常用的是使用ssh。使用下面方法创建:

  • 生成密钥:
    打开git bash,在用户主目录下运行:ssh-keygen -t rsa -C “[email protected]“ 把其中的邮件地址换成自己的邮件地址,然后一路回车

    1
    ssh-keygen -t rsa -C "[email protected]"
  • 最后完成后,会在用户主目录(C:\Users\Administrator.ssh)下生成.ssh目录,里面有id_rsaid_rsa.pub两个文件,这两个就是SSH key密钥对,id_rsa是私钥,千万不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

  • 登陆GitHub,打开「Settings」->「SSH and GPG keys」,然后点击「new SSH key」,填上任意Title,在Key文本框里粘贴公钥id_rsa.pub文件的内容(千万不要粘贴成私钥了!),最后点击「Add SSH Key」,你就应该看到已经添加的Key。

  • 测试连接:

1
ssh -T [email protected]  # 输入 yes 确认

显示Hi xxx! You've successfully...即成功

注意:不要在git版本库中运行ssh,然后又将它提交,这样就把密码泄露出去了。

3. 拷贝旧电脑的 Hexo 源文件

将旧电脑中博客目录下的必要文件复制到新电脑(如 D:/Blog):

_config.yml(站点配置)

package.json(插件列表)

scaffolds/(文章模板)

source/(文章和资源)

themes/(主题文件)

注意:无需复制 node_modules/、public/ 等自动生成目录。

下面就将原来的文件拷贝到新电脑中,但是要注意哪些文件是必须的,哪些文件是可以删除的。

  • 讨论下哪些文件是必须拷贝的:
    首先是之前自己修改的文件,像站点配置_config.yml,theme文件夹里面的主题,以及source里面自己写的博客文件,这些肯定要拷贝的。除此之外,还有三个文件需要有,就是scaffolds文件夹(文章的模板)、package.json(说明使用哪些包)和.gitignore(限定在提交的时候哪些文件可以忽略)。其实,这三个文件不是我们修改的,所以即使丢失了,也没有关系,我们可以建立一个新的文件夹,然后在里面执行hexo init,就会生成这三个文件,我们只需要将它们拷贝过来使用即可。总结:_config.yml,theme/,source/,scaffolds/,package.json,.gitignore,是需要拷贝的。

  • 再讨论下哪些文件是不必拷贝的,或者说可以删除的:
    首先是.git文件,无论是在站点根目录下, 还是主题目录下的.git文件,都可以删掉。然后是文件夹node_modules(在用npm install会重新生成),public(这个在用hexo g时会重新生成),.deploy_git文件夹(在使用hexo d时也会重新生成),db.json文件。其实上面这些文件也就是.gitignore文件里面记载的可以忽略的内容。总结:.git/,node_modules/,public/,.deploy_git/,db.json文件需要删除。

4. 安装 Hexo 及依赖

  • 全局安装 Hexo:
    打开git bash客户端,输入 npm install hexo-cli -g,开始安装hexo
1
npm install hexo-cli -g
  • 进入博客目录安装依赖:
1
2
3
cd D:/Blog
npm install # 安装 package.json 中的插件
npm install hexo-deployer-git --save # 部署插件(必装):cite:cite
  • 在git bash中切换目录到新拷贝的文件夹里,使用 npm install 命令,进行模块安装。

    很明显我们这里没用hexo init初始化,因为有的文件我们已经拷贝生成过来了,所以不必用hexo init去整体初始化,如果不慎在此时用了hexo init,则站点的配置文件_config.yml里面内容会被清空使用默认值,所以这一步一定要慎重,不要用hexo init。

  • 安装其他的一些必要组件,如果在node_modules里面有的,就不要重复安装了:

(1)为了使用hexo d来部署到git上,需要安装npm install hexo-deployer-git --save

1
npm install hexo-deployer-git --save

(2)为了建立RSS订阅,需要安装npm install hexo-generator-feed --save

1
npm install hexo-generator-feed --save

(3)为了建立站点地图,需要安装npm install hexo-generator-sitemap --save

1
npm install hexo-generator-sitemap --save

插件安装后,有的需要对配置文件_config.yml进行配置,具体怎么配置,可以参考上面插件在github主页上的具体说明

5. 测试与部署

1
hexo cl; hexo s
  • 生成并部署:
    使用hexo g,然后使用hexo d进行部署,如果都没有出错,就转移成功了!(推送命令)
1
hexo cl; hexo g; hexo d

1
2
3
hexo clean   # 清除缓存(可选)
hexo g # 生成静态页面
hexo d # 部署到 GitHub

二、Git 分支管理法(适合长期多设备同步)

Hexo官方迁移文档主要讲的是如何迁移到别的博客平台,这里考虑的是换电脑的问题。
最好是在创建博客的时候就想到这个问题,但是一般搭建博客的人都是小白,考虑不周是再所难免的,所以有了以下的解决方案

如果熟悉git命令的就会容易理解很多,所以建议有时间学习一下git命令行。

解决这个问题之前要明白一件事情:上传到github上的文件是经过Hexo生成的。

解决方案:在现有的项目xxx.github.io 的基础上新建一个新的分支,将博客资源文件(源文件)放到这个新分支上,其他的不动即可。

主要有两大步:

  • 1.将本地文件存到github,
  • 2.用新电脑拉取项目文件,使用Hexo重新进行生成、部署。

1.将本地文件存到github

具体步骤:

  1. 克隆gitHub上的XXX.github.io项目的文件到本地(注意替换成你自己的项目地址)
1
git clone https://github.com/yourname/xxx.github.io.git
  1. 删除文件夹里除了.git的其他所有文件(这个文件是隐藏文件,如果看不到,要设置一下,具体百度)
  2. 将原Hexo项目文件夹中的文件全部复制到这个文件夹中
  3. 确认一下里面是否有一个文件.gitignore,如果没有就输入.gitignore 直接创建一个,然后粘贴如下内容,保存。
1
2
3
4
5
6
7
.DS_Store
Thumbs.db
db.json
*.log
node_modules/
public/
.deploy*/
  1. 创建一个叫hexo的分支并切换到这个分支上
    git checkout -b hexo

  2. 提交复制过来的文件到暂存区
    git add –all

  3. 提交,并添加注释
    git commit -m “新建资源文件存放分支”

  4. 推送分支到github(设置本地分支关联远程分支,下次直接用 git push命令就能直接推送)
    git push –set-upstream origin hexo

到这一步我们推送文件基本搞定了,以后有更新,直接 git push就可以了,hexo的操作跟以前一样不变。

2.用新电脑拉取项目文件,使用Hexo重新进行生成、部署。

直接把创建的分支克隆下来,npm install安装依赖之后就可以用了。

  1. 安装依赖 npm install
  2. 克隆gitHub上指定分支的内容到本地(注意:这条命令和最开始的命令是有区别的,看清楚)
1
git clone -b hexo https://github.com/yourname/xxx.github.io.git

ps:一点git命令的讲解

git push --set-upstream origin 将本地分支和远程分支进行关联

git push origin 分支名 推送内容到指定分支。

两条命令的作用基本相同,区别在于:关联之后,下次直接输入git push 就能直接提交,仅此。

git add --allgit add . 作用都是添加所有文件。

git remote -v 查看当前远程的版本

git pull origin 分支名 从指定分支上拉取最新变更


下面是简洁流程:

  1. 旧电脑前期准备(若未做需补)
    在 GitHub 仓库创建分支(如 hexo),设为默认分支。

将源文件(不含 node_modules/、.deploy_git/)推送到该分支:

1
2
3
4
5
git init
git checkout -b hexo
git add .
git commit -m "备份源文件"
git push origin hexo
  1. 新电脑操作

克隆仓库(默认拉取 hexo 分支):

1
git clone [email protected]:你的用户名/仓库名.git

安装依赖:

1
2
3
cd 仓库名
npm install
npm install hexo-deployer-git --save

写文章后同步:

1
2
3
4
git add .
git commit -m "更新文章"
git push origin hexo # 先推送源文件
hexo g -d # 再部署网页

⚠️ 关键注意事项

  1. 避免 hexo init
    在已有源文件的目录执行会覆盖配置!8

  2. 主题子模块问题
    若主题包含 .git 目录,删除它否则克隆失败

1
rm -rf themes/主题名/.git
  1. 部署插件必装
    缺少 hexo-deployer-git 会导致 hexo d 失败。

  2. 大文件处理
    图片等资源 >100MB 需用 Git LFS

1
2
3
git lfs install
git lfs track "*.png"
git add .gitattributes

总结流程

✅环境安装(Git + Node.js) → 配置 SSH 密钥 → 恢复源文件 → 安装依赖 → 测试部署

✅优先推荐分支管理法,一劳永逸解决多设备同步问题。若源文件未提前备份,可尝试从旧硬盘/U盘拷贝必要目录(source/、themes/ 等),再结合方法一恢复