Hexo+GitHub Pages 源码隐私保护:两种最优实现方案

用 Hexo 搭配 GitHub Pages 搭建博客时,很多人会遇到一个核心痛点:公共仓库无法单独隐藏某一个分支,如果把 Hexo 源码直接放在公开的 username.github.io 仓库,所有人都能看到你的源码、配置文件甚至未发布的内容。

分享两种成熟、易操作的解决方案,既能完美保护源码隐私,又不影响博客正常访问,适配不同使用习惯的同学。

方案一:双仓库模式(推荐/GitHub Pages 忠实用户首选)

这是最贴合 Hexo+GitHub Pages 原有架构的方案,核心思路就是源码和静态网页分离存放,私有仓库存源码,公共仓库只放生成的博客页面。

核心配置

  • 私有仓库(Private):存放 Hexo 全部源码(scaffold、source、themes、_config.yml 等核心文件),仅自己可见。
  • 公共仓库(Public):即原有的 username.github.io,只存放 hexo d 生成后的静态文件(HTML/CSS/JS),供 GitHub Pages 部署和他人访问。

操作步骤

  1. 新建私有仓库:在 GitHub 新建仓库(如命名 my-blog-source),创建时直接选择「Private」,完成后复制仓库的 Git 地址。
  2. 本地源码关联私有仓库
1
2
3
4
5
6
7
8
# 进入本地 Hexo 源码目录
cd 你的博客本地目录
# 移除原有指向公共仓库的关联
git remote remove origin
# 添加新的私有仓库地址
git remote add origin 你的私有仓库Git地址
# 推送源码到私有仓库
git push -u origin main
  1. 修改部署配置:打开本地源码的 _config.yml,找到 deploy 模块,确保 repo 指向公开的username.github.io 仓库,分支按自己的仓库设置填写(main/master)。
1
2
3
4
deploy:
type: git
repo: https://github.com/你的用户名/你的用户名.github.io.git
branch: main
  1. 日常使用流程
  • 写文/改配置后,执行 git push 即可备份源码到私有仓库,他人不可见;
  • 发布博客时,执行 hexo clean && hexo g && hexo d,生成的静态文件会推送到公共仓库,博客正常访问。

方案二:托管到 Vercel/Netlify(更省心的现代方案)

如果不执着于 GitHub Pages 部署,Vercel/Netlify 是更优选择——可直接对接 GitHub 私有仓库,实现源码全隐私+自动部署,彻底告别手动执行 hexo d

核心优势

  • 源码完全隐私:整个 Hexo 仓库设为私有即可,无需分离文件;
  • 自动部署(CI/CD):本地 git push 源码后,平台自动云端执行 hexo generate 并发布,无需本地部署;
  • 访问更稳定:全球 CDN 加速,国内访问体验优于 GitHub Pages。

操作步骤

  1. 仓库私有化:将 GitHub 上的 Hexo 仓库设为「Private」(新建/修改现有仓库均可)。
  2. 平台注册:打开 Vercel(或 Netlify),用 GitHub 账号登录,完成注册。
  3. 导入仓库:点击「Add New Project」,选择「Import from GitHub」,找到私有化的 Hexo 仓库并导入。
  4. 构建配置:平台通常会自动识别 Hexo,确认配置无误即可(无需手动改):
    1. Framework Preset:Hexo
    2. Build Command:hexo generate
    3. Output Directory:public
  5. 一键部署:点击「Deploy」,等待几分钟即可完成部署,平台会生成专属访问域名,也可绑定自己的自定义域名。

最终选择建议

  1. 最小改动、习惯本地手动部署、坚持用 GitHub Pages → 选双仓库模式
  2. 解放双手、追求自动部署、希望源码完全隐形、接受第三方平台 → 选Vercel/Netlify 托管

两种方案都能完美解决源码隐私问题,根据自己的使用习惯选择即可,操作中遇到 Git 或配置报错,直接核对步骤就能快速解决~