上游 · 理解本功能前需先掌握的(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
适用场景
- 当你想要一个个人简历或主页网站时
- 当你想给开源项目做一个展示页面或在线文档时
- 当你想免费部署一个纯前端小应用时
- 当你想用 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 里打开开关,发布你的第一个页面。