GitHub Pages 是什么?
GitHub Pages 是 GitHub 提供的一项免费静态网站托管服务,用于托管纯静态内容(HTML、CSS、JavaScript 等)。它允许用户将仓库中的静态文件发布为个人站点或项目站点。通过这种方式,你无需租用服务器就可以展示个人主页、博客、简历或项目文档。
准备工作
- 注册一个 GitHub 账号
- 安装 Git 客户端(可选,但推荐,用于本地开发与版本控制)
- 准备好静态文件(HTML、CSS、JS、图片等)。如果你使用静态网站生成器(如 Jekyll、Hugo 等),请先在本地生成输出文件。
创建仓库并上传静态内容
在 GitHub 上新建一个仓库。如果是个人主页类型,仓库命名为 your-username.github.io,其内容将被发布为 https://your-username.github.io 形式的站点。
注意:仓库名的your-username部分必须与你的账户名匹配,否则只能通过https://your-username.github.io/repository-name/访问,而无法直接通过https://your-username.github.io/访问。
将静态文件放在仓库中,主文件通常为 index.html,这是用户访问站点时默认加载的内容。
启用 GitHub Pages
进入仓库的 Settings(设置) 面板。
在 “Pages” 或 “GitHub Pages” 配置部分中,选择发布源(例如 main 分支或 gh-pages 分支,或选择一个子目录如 /docs)。
保存设置之后,GitHub 会生成一个站点地址,通常是 https://your-username.github.io 或 https://your-username.github.io/repo-name。静态文件被推送到选定分支 / 目录后,几分钟内即可访问。
示例流程(以个人主页为例)
1. 注册 GitHub,创建新仓库,命名为 your-username.github.io。
2. 在本地创建一个文件夹,写一个简单的 index.html 文件,内容可以是 “Hello, GitHub Pages!” 或者自定义主页。
3. 使用 git 将此文件夹初始化为 git 仓库,关联远程仓库,推送代码到 main 分支。

4. 在仓库 Settings → Pages 中选择 main 分支作为发布源,点击 Save 保存。

5. 几分钟后访问 https://your-username.github.io,验证网页是否成功部署。
以我创建的GitHub Pages为例,保存几分钟后,https://paulyu1988.github.io/已经可以访问了。
6. 有域名的情况下,设置 DNS 和自定义域名配置,并确保 HTTPS 启用。第一次保存后,下面会显示自定义域名的配置。

使用静态网站生成器(可选)
如果你不想手动写 HTML 或希望内容管理更方便,可以使用静态网站生成器:
- 使用 Jekyll 或 Hugo 等工具,用 Markdown 写文章,用主题模板生成网站结构与页面。
- 在本地生成后将输出静态文件(通常在 _site、public 或 dist 等目录)推送至 GitHub 仓库的发布源分支或目录。
如果使用 GitHub Actions,可以自动化构建流程:push 源代码 -> Actions 构建 -> 自动将生成的静态网站部署至 Pages。
自定义域名与 HTTPS
- 如果你有自己的域名,可以将其绑定到 GitHub Pages:在仓库设置的 Pages 部分填写你的域名(Custom domain)。
- 在域名提供商处添加 DNS 记录(如 A 记录或 CNAME)指向 GitHub Pages 指定的地址。
- 启用 HTTPS 支持,GitHub Pages 默认支持 HTTPS,绑定自定义域名后也会为你管理证书。这样访问时即可使用 https://your-domain.com 安全访问你的静态站点。
常见问题与解决技巧
- 404 错误:确认你上传了 index.html,并且发布源指向正确的分支或目录。
- 内容更新延迟:GitHub Pages 的变更通常在数分钟后生效。等待几分钟后刷新浏览器或清理缓存。
- 主题或模板问题:如果使用 Jekyll 或其他生成器,确保配置文件(如 _config.yml)正确,以及文件夹结构符合要求。
- 自定义域名解析问题:DNS 解析可能有延迟,检查 A 或 CNAME 记录是否正确并生效(ping 或 dig 验证)。
总结
使用 GitHub Pages 部署静态网站几乎零成本,非常适合展示个人作品、博客或项目文档。通过简单几步即可完成整个流程,从创建仓库、上传文件、配置 Pages,再到可选的自定义域名与 HTTPS。如果你希望以最佳实践来维护网站,建议使用静态网站生成器与自动部署流程。