使用一台电脑管理两个 GitHub 账号的 Hexo 博客完整指南
使用一台电脑管理两个 GitHub 账号的 Hexo 博客完整指南
1. 事前准备
- 域名(非必须):你可以使用免费的
GitHub.io
分配的域名。 - GitHub(必须):
- 注册两个 GitHub 账号:
- 第一个账号:用户名
user1
,邮箱account_one@example.com
。 - 第二个账号:用户名
user2
,邮箱account_two@example.com
。
- 第一个账号:用户名
- 假设你已经注册并可以登录这两个账号。
- 注册两个 GitHub 账号:
- Cloudflare(非必须):可用于加速博客访问。
- 事先安装好了 Node、Git、**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 | git config --global user.name "user1" |
- 注意:这里的
user.name
设置为你的第一个 GitHub 用户名(user1
)。user.email
必须是你第一个 GitHub 账号设置中的 Primary email address。
2.2 为第一个账号生成并配置 SSH 密钥
在
Git Bash
中执行以下命令生成 SSH 密钥对,关联第一个邮箱:1
ssh-keygen -t rsa -C "account_one@example.com"
- 提示
Enter file in which to save the key
时,直接回车,使用默认文件名id_rsa
和id_rsa.pub
。 - 提示
Enter passphrase
时,也直接回车(不设置密码),方便使用。
- 提示
找到生成的密钥文件(通常在
C:\Users\你的Windows用户名\.ssh\
目录下),用记事本打开id_rsa.pub
文件,复制里面的所有内容。id_rsa
(私钥 - 不要泄露)id_rsa.pub
(公钥 - 需要添加到 GitHub)
将 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。
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 仓库
- 登录你的第一个 GitHub 账号 (
user1
),点击右上角的+
按钮,选择 New repository ,创建一个<用户名>.github.io
的仓库。例如,Repository name 必须是:user1.github.io
。
Public 选择
Public
方便第一次部署检查问题。点击 Create repository 进行创建即可。
3. 初始化第一个 Hexo 博客 (blog-demo
)
3.1 创建项目文件夹并安装 Hexo
创建一个文件夹来保存博客源码(例如:
D:/Hexo-Blog/blog-demo
);在
blog-demo
文件夹内右键鼠标,选择Open Git Bash here
,在Git BASH
输入如下命令安装 Hexo:1
npm install -g hexo-cli && hexo -v
安装完后输入
hexo -v
验证是否安装成功。

3.2 初始化 Hexo 项目
在 blog-demo
目录下执行:
1 | hexo init . |
.
表示在当前目录初始化。- 这会安装 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 配置第一个博客的部署设置
安装 Hexo 部署插件-hexo-deployer-git
在博客源码文件夹右键打开
Git Bash
,输入下面命令安装 Hexo 的 Git 部署插件;1
npm install hexo-deployer-git --save
使用 VSCode 或其他文本编辑器打开
blog-demo
目录下的_config.yml
文件(这是 Hexo 的主配置文件)。找到文件末尾的 deploy 部分,修改为:
1
2
3
4deploy:
type: git
repository: git@github.com:user1/user1.github.io.git
branch: main # 或 gh-pages,取决于你的仓库设置- 将
user1/user1.github.io.git
替换为你第一个账号的实际仓库地址。 - 分支要改为
main
代表主分支(注意缩进)。
- 将
回到
Git Bash
(在blog-demo
目录下),执行部署命令:1
hexo clean && hexo generate && hexo deploy
或使用缩写(在 VSCode 终端中):
1
hexo cl && hexo g && hexo d
注意:deploy时可能要你输入 username 和 password(尽管使用了 SSH,但某些情况下仍可能提示)。
如果出现 Deploy done,则说明部署成功了。稍等两分钟,打开浏览器访问:
https://user1.github.io
,这时候我们就可以看到博客内容了。
4. 配置 Git 和连接第二个 GitHub 账号 (user2
- account_two@example.com
)
现在我们为第二个账号设置独立的环境。
4.1 为第二个账号生成新的 SSH 密钥对
打开
Git Bash
。为第二个账号 (
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_user2
和id_rsa_user2.pub
。
- 提示
Enter passphrase
时,直接回车(不设置密码)。
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 | # Default GitHub account (user1 - account_one@example.com) |
Host github.com
:这是默认配置,关联第一个账号的密钥 (id_rsa
)。Host github-user2
:这是为第二个账号创建的自定义别名。后面部署第二个博客时会用到这个别名。IdentityFile
:分别指向两个不同的私钥文件。IdentitiesOnly yes
:确保只使用指定的密钥。
4.4 为第二个账号创建 GitHub Pages 仓库
登录你的第二个 GitHub 账号,点击右上角的
+
按钮,选择 New repository ,创建一个<用户名>.github.io
的仓库。Repository name 必须是:
user2.github.io
(注意:前缀必须为用户名,此为预览博客需要,后期可修改仓库名)Public 选择
Public
方便第一次部署检查问题,点击 Create repository 进行创建即可。
5. 初始化第二个 Hexo 博客 (blog-main
)
5.1 创建项目文件夹并安装 Hexo
在你的电脑上创建一个新的文件夹来存放第二个博客的源码,例如:
D:\Hexo-Blog\blog-main
。在
blog-main
文件夹内,按住Shift
键并右键,选择 在此处打开 PowerShell 或 Open Git Bash here。(重要)为这个本地仓库设置特定的用户信息(覆盖全局配置),这确保了在此目录下的 Git 提交(包括 Hexo 的部署)使用第二个账号的信息。
1
2
3git init # 如果目录不是 Git 仓库,需要先初始化
git config user.name "user2"
git config user.email "account_two@example.com"初始化 Hexo 项目:
1
2hexo init .
npm install
5.2 启动并预览本地博客
在 blog-main
目录下执行:
1 | hexo clean && hexo s |
打开浏览器访问 http://localhost:4000/
,预览第二个博客。
5.3 配置第二个博客的部署设置
确保在
blog-main
目录下,安装 Hexo 部署插件(如果尚未安装):1
npm install hexo-deployer-git --save
使用 VSCode 或其他文本编辑器打开
blog-main
目录下的_config.yml
文件。找到文件末尾的deploy
部分,关键在于repository
的主机名部分要使用你在config
文件中定义的别名github-user2
:1
2
3
4
5deploy:
type: git
# 注意这里的主机名是 config 文件中定义的别名
repository: git@github-user2:user2/user2.github.io.git
branch: main # 或 gh-pagesgit@github-user2
:这部分告诉 SSH 客户端使用config
文件中Host github-user2
的配置,即使用id_rsa_user2
私钥。
回到
Git Bash
(在blog-main
目录下),执行部署命令:1
2hexo clean && hexo generate && hexo deploy
hexo cl && hexo g && hexo d
如果出现 Deploy done,则说明部署成功了。稍等两分钟,打开浏览器访问:https://user2.github.io
,这时候我们就可以看到博客内容了。
总结
通过以上步骤,你实现了:
- 全局配置:为第一个 GitHub 账号 (
user1
) 设置了全局的 Git 用户信息和默认 SSH 密钥。 - 本地覆盖:为第二个博客 (
blog-main
) 的本地目录设置了特定的 Git 用户信息 (user2
)。 - 多账号 SSH 管理:通过生成不同的 SSH 密钥对 (
id_rsa
,id_rsa_user2
) 并配置~/.ssh/config
文件,实现了使用不同密钥连接到同一个 GitHub 主机 (github.com
) 但对应不同账号。 - 独立部署
- 第一个博客 (
blog-demo
) 通过默认的git@github.com:...
地址部署到user1.github.io
。 - 第二个博客 (
blog-main
) 通过自定义别名git@github-user2:...
地址部署到user2.github.io
。
- 第一个博客 (
现在你可以分别在 blog-demo
和 blog-main
文件夹中独立地开发、预览和部署你的两个博客了。