使用一台电脑管理两个 GitHub 账号的 Hexo 博客完整指南

1. 事前准备

  1. 域名非必须):你可以使用免费的 GitHub.io 分配的域名。
  2. GitHub必须):
    • 注册两个 GitHub 账号:
      • 第一个账号:用户名 user1,邮箱 account_one@example.com
      • 第二个账号:用户名 user2,邮箱 account_two@example.com
    • 假设你已经注册并可以登录这两个账号。
  3. Cloudflare非必须):可用于加速博客访问。
  4. 事先安装好了 NodeGit、**VScode**等软件,可以参考【Hexo博客系列】No.1 搭建Hexo博客,快速简洁高效,零成本搭建个人博客:Hexo + GitHub Pages + Cloudflare Pages 完整指南 #blog - YouTube

2. 配置 Git 和连接第一个 GitHub 账号 (user1 - account_one@example.com)

我们将首先配置与第一个 GitHub 账号相关的设置。

2.1 配置第一个账号的用户名和邮箱(全局)

打开 Git Bash,执行以下命令设置 Git 的全局用户信息(关联第一个 GitHub 账号),通过 git config -l 检查是否配置成功。

1
2
git config --global user.name "user1"
git config --global user.email "account_one@example.com"
  • 注意:这里的 user.name 设置为你的第一个 GitHub 用户名(user1)。user.email 必须是你第一个 GitHub 账号设置中的 Primary email address。

2.2 为第一个账号生成并配置 SSH 密钥

  1. Git Bash中执行以下命令生成 SSH 密钥对,关联第一个邮箱:

    1
    ssh-keygen -t rsa -C "account_one@example.com"
    • 提示 Enter file in which to save the key 时,直接回车,使用默认文件名 id_rsaid_rsa.pub
    • 提示 Enter passphrase 时,也直接回车(不设置密码),方便使用。
  2. 找到生成的密钥文件(通常在 C:\Users\你的Windows用户名\.ssh\ 目录下),用记事本打开 id_rsa.pub 文件,复制里面的所有内容。

    • id_rsa (私钥 - 不要泄露)
    • id_rsa.pub (公钥 - 需要添加到 GitHub)
  3. 将 SSH KEY 配置到

    GitHub 登录你的第一个 GitHub 账号 (user1,邮箱 account_one@example.com),点击右上角头像 选择 settings,进入设置页后选择 SSH and GPG keys,点击 New SSH key,名字随便起,Key type 选择 Authentication Key,公钥填到 Key 那一栏,点击 Add SSH key

Snipaste_2025-07-25_22-22-26

2.3 测试第一个账号的 SSH 连接

Git Bash 中输入以下命令测试连接:

1
ssh -T git@github.com
  • 如果是第一次连接,会提示 Are you sure you want to continue connecting (yes/no/[fingerprint])?,输入 yes 并回车。
  • 如果看到类似 Hi user1! You've successfully authenticated, but GitHub does not provide shell access. 的信息,说明连接成功。

2.4 为第一个账号创建 GitHub Pages 仓库

  1. 登录你的第一个 GitHub 账号 (user1),点击右上角的 + 按钮,选择 New repository ,创建一个 <用户名>.github.io 的仓库。例如,Repository name 必须是:user1.github.io

创建GitHub.io仓库

  1. Public 选择 Public 方便第一次部署检查问题。

  2. 点击 Create repository 进行创建即可。

3. 初始化第一个 Hexo 博客 (blog-demo)

3.1 创建项目文件夹并安装 Hexo

  1. 创建一个文件夹来保存博客源码(例如:D:/Hexo-Blog/blog-demo);

  2. blog-demo 文件夹内右键鼠标,选择 Open Git Bash here,在 Git BASH 输入如下命令安装 Hexo:

    1
    npm install -g hexo-cli && hexo -v
  3. 安装完后输入 hexo -v 验证是否安装成功。

Hexo版本

3.2 初始化 Hexo 项目

blog-demo 目录下执行:

1
2
hexo init .
npm install
  • . 表示在当前目录初始化。
  • 这会安装 Hexo 所需的依赖。

初始化项目后,blog-demo 有如下结构:

  • node_modules:依赖包
  • scaffolds:生成文章的一些模板
  • source:用来存放你的文章
  • themes:主题
  • .npmignore:发布时忽略的文件(可忽略)
  • _config.landscape.yml:主题的配置文件
  • config.yml:博客的配置文件
  • package.json:项目名称、描述、版本、运行和开发等信息

3.3 启动并预览本地博客

blog-demo 目录下执行

1
hexo clean && hexo s
  • hexo clean 清理缓存。
  • hexo s (或 hexo server) 启动本地服务器。

打开浏览器,输入地址:http://localhost:4000/ ,看到默认的 Hexo 页面,说明你的博客已经构建成功了。

界面

3.4 配置第一个博客的部署设置

  1. 安装 Hexo 部署插件-hexo-deployer-git

    在博客源码文件夹右键打开 Git Bash,输入下面命令安装 Hexo 的 Git 部署插件;

    1
    npm install hexo-deployer-git --save
  2. 使用 VSCode 或其他文本编辑器打开 blog-demo 目录下的 _config.yml 文件(这是 Hexo 的主配置文件)。

    找到文件末尾的 deploy 部分,修改为:

    1
    2
    3
    4
    deploy:
    type: git
    repository: git@github.com:user1/user1.github.io.git
    branch: main # 或 gh-pages,取决于你的仓库设置
    • user1/user1.github.io.git 替换为你第一个账号的实际仓库地址。
    • 分支要改为 main 代表主分支(注意缩进)。
  3. 回到 Git Bash (在 blog-demo 目录下),执行部署命令:

    1
    hexo clean && hexo generate && hexo deploy

    或使用缩写(在 VSCode 终端中):

    1
    hexo cl && hexo g && hexo d

    注意:deploy时可能要你输入 username 和 password(尽管使用了 SSH,但某些情况下仍可能提示)。

  4. 如果出现 Deploy done,则说明部署成功了。稍等两分钟,打开浏览器访问:https://user1.github.io ,这时候我们就可以看到博客内容了。

4. 配置 Git 和连接第二个 GitHub 账号 (user2 - account_two@example.com)

现在我们为第二个账号设置独立的环境。

4.1 为第二个账号生成新的 SSH 密钥对

  1. 打开 Git Bash

  2. 为第二个账号 (account_two@example.com) 生成新的 SSH 密钥对,指定不同的文件名以避免冲突:

    1
    ssh-keygen -t rsa -C "account_two@example.com" -f ~/.ssh/id_rsa_user2
    • -f ~/.ssh/id_rsa_user2:指定密钥文件名为 id_rsa_user2id_rsa_user2.pub
    • 提示 Enter passphrase 时,直接回车(不设置密码)。

Snipaste_2025-07-25_22-51-24

4.2 将第二个 SSH 公钥添加到第二个 GitHub 账号

用记事本打开 ~/.ssh/id_rsa_user2.pub 文件,复制所有内容,登录你的第二个 GitHub 账号 ,进入 Settings -> SSH and GPG keys -> 点击 New SSH key,名字随便起,Key type 选择 Authentication Key,公钥填到 Key 那一栏,点击 Add SSH key

4.3 配置 SSH 客户端以区分不同账号

为了让 Git 知道连接不同的 GitHub 账号时使用哪个密钥,需要配置 SSH 客户端。

C:\Users\你的Windows用户名\.ssh\ 目录下,检查是否存在 config 文件。如果没有,使用文本编辑器新建一个,文件名为 config(没有扩展名)。

编辑 config 文件,添加以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
# Default GitHub account (user1 - account_one@example.com)
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa
IdentitiesOnly yes

# Second GitHub account (user2 - account_two@example.com)
Host github-user2 # 自定义别名
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_user2
IdentitiesOnly yes
  • Host github.com:这是默认配置,关联第一个账号的密钥 (id_rsa)。
  • Host github-user2:这是为第二个账号创建的自定义别名。后面部署第二个博客时会用到这个别名。
  • IdentityFile:分别指向两个不同的私钥文件。
  • IdentitiesOnly yes:确保只使用指定的密钥。

4.4 为第二个账号创建 GitHub Pages 仓库

  1. 登录你的第二个 GitHub 账号,点击右上角的 + 按钮,选择 New repository ,创建一个 <用户名>.github.io 的仓库。

    Repository name 必须是:user2.github.io (注意:前缀必须为用户名,此为预览博客需要,后期可修改仓库名)

  2. Public 选择 Public 方便第一次部署检查问题,点击 Create repository 进行创建即可。

5. 初始化第二个 Hexo 博客 (blog-main)

5.1 创建项目文件夹并安装 Hexo

  1. 在你的电脑上创建一个的文件夹来存放第二个博客的源码,例如:D:\Hexo-Blog\blog-main

  2. blog-main 文件夹内,按住 Shift 键并右键,选择 在此处打开 PowerShellOpen Git Bash here

  3. (重要)为这个本地仓库设置特定的用户信息(覆盖全局配置),这确保了在此目录下的 Git 提交(包括 Hexo 的部署)使用第二个账号的信息。

    1
    2
    3
    git init # 如果目录不是 Git 仓库,需要先初始化
    git config user.name "user2"
    git config user.email "account_two@example.com"
  4. 初始化 Hexo 项目:

    1
    2
    hexo init .
    npm install

5.2 启动并预览本地博客

blog-main 目录下执行:

1
hexo clean && hexo s

打开浏览器访问 http://localhost:4000/,预览第二个博客。

5.3 配置第二个博客的部署设置

  1. 确保在 blog-main 目录下,安装 Hexo 部署插件(如果尚未安装):

    1
    npm install hexo-deployer-git --save
  2. 使用 VSCode 或其他文本编辑器打开 blog-main 目录下的 _config.yml 文件。找到文件末尾的 deploy 部分,关键在于 repository 的主机名部分要使用你在 config 文件中定义的别名 github-user2

    1
    2
    3
    4
    5
    deploy:
    type: git
    # 注意这里的主机名是 config 文件中定义的别名
    repository: git@github-user2:user2/user2.github.io.git
    branch: main # 或 gh-pages
    • git@github-user2:这部分告诉 SSH 客户端使用 config 文件中 Host github-user2 的配置,即使用 id_rsa_user2 私钥。
  3. 回到 Git Bash (在 blog-main 目录下),执行部署命令:

    1
    2
    hexo clean && hexo generate && hexo deploy
    hexo cl && hexo g && hexo d

如果出现 Deploy done,则说明部署成功了。稍等两分钟,打开浏览器访问:https://user2.github.io ,这时候我们就可以看到博客内容了。

总结

通过以上步骤,你实现了:

  1. 全局配置:为第一个 GitHub 账号 (user1) 设置了全局的 Git 用户信息和默认 SSH 密钥。
  2. 本地覆盖:为第二个博客 (blog-main) 的本地目录设置了特定的 Git 用户信息 (user2)。
  3. 多账号 SSH 管理:通过生成不同的 SSH 密钥对 (id_rsa, id_rsa_user2) 并配置 ~/.ssh/config 文件,实现了使用不同密钥连接到同一个 GitHub 主机 (github.com) 但对应不同账号。
  4. 独立部署
    • 第一个博客 (blog-demo) 通过默认的 git@github.com:... 地址部署到 user1.github.io
    • 第二个博客 (blog-main) 通过自定义别名 git@github-user2:... 地址部署到 user2.github.io

现在你可以分别在 blog-demoblog-main 文件夹中独立地开发、预览和部署你的两个博客了。