DAG总览 / 组目录 / 自动化部署

静态网站托管:GitHub Pages(页面)

G05Layer 4
目录:前置概念账号与仓库版本管理协作项目管理自动化部署工具生态
层导航:L0L1L2L3L4 当前L5L6L7L8
上游 · 理解本功能前需先掌握的(1):
下游 · 依赖/承接本功能的(0):
暂无下游(建议学完它再进阶)
前置依赖包含从属概念升级流程承接 边方向 = 学习顺序(A→B 表示先学 A 再学 B)

为什么需要它

心智模型

想给自己、项目或文档做个网站,又不想花钱买服务器和域名。Pages 把网站托管这件事变成「免费 + 零维护」:它直接用你的代码仓库当网站内容,改动即上线,最适合个人主页、项目展示和文档站点。

历史背景 · 它为什么诞生诞生于 2008
诞生2008年网页托管需FTP/scp/rsync等繁琐流程,开发者想给项目建文档站、博客和个人主页门槛很高。GitHub创始人Tom Preston-Werner 2008-12-18推出Pages,口号就是'No FTP, no scp, no rsync, nothing. Just a simple git push'——把静态站点发布变成一次git push。
演进从2008年简单静态页托管+Jekyll集成,演进为支撑项目文档、博客、书籍的通用免费静态站点平台。2020-09-03起支持任意分支构建部署,逐步加入HTTPS、自定义域名、Actions集成等,成为静态站托管事实标准。
历史教训
把"发布网站"这个复杂工程抽象成"push代码"这一个动作,是降低用户门槛的经典案例。免费+与GitHub生态深度绑定,成就了极低使用成本的增长飞轮。

功能介绍

GitHub Pages 是 GitHub 的静态网站托管服务,官方定义是 "GitHub Pages turns any GitHub repository into a live website—no separate hosting required"——任何仓库都能变成一个活生生的网站,无需另外租用托管。它只支持静态站点(Static Site):也就是纯 HTML、CSS、JavaScript,以及由它们生成的文档页面,不需要服务器端运行代码。部署方式有两种:一是从某个分支(Branch)发布,即「当有新改动推送到指定分支时,自动把该分支的内容发布为网站」;二是编写 GitHub Actions 工作流来构建发布,适合需要先生成(比如用 Jekyll、Hugo、VuePress 等工具构建文档)的情况。每个项目可以免费获得一个形如 https://<用户名>.github.io/<仓库名>/ 的网址,也可以绑定自己的自定义域名。

核心术语

静态站点(Static Site)分支发布(Branch Deployment)静态站点生成器(Static Site Generator)自定义域名(Custom Domain)Jekyll / Hugo

适用场景

怎么操作(网页 vs 命令行 双轨)

🖱️ 网页操作 (GitHub.com)
  • 进入仓库,点击 Settings → Pages
  • 在 Build and deployment 下选择 Source 为「Deploy from a branch」,再选择要发布的分支和目录
  • 点击 Save,稍等片刻,页面顶部会显示你的网站地址,访问即可
  • 也可以选择 GitHub Actions 方式,通过工作流自定义构建流程
⌨️ 命令行 (进阶)
  • `git push origin main` # 推送后,Pages 会自动重新构建发布该分支内容
  • `gh api repos/{owner}/{repo}/pages` # 查看 Pages 配置状态

新手建议先从网页操作入手,熟悉概念后再尝试命令行。命令行是真实开发中更常用的方式。

与其他功能的关系

关系(前置依赖 / 包含从属 / 概念升级 / 流程承接)说明
流程承接分支(Branch)从指定分支发布静态站点(底层也是 Actions)

官方文档

小结

SUMMARY

GitHub Pages 让任何仓库都能免费变成网站,支持分支发布和 Actions 工作流两种方式,改动即上线、无需维护服务器。下一步:在仓库 Settings → Pages 里打开开关,发布你的第一个页面。