我们经常发布文档更新,此页面的翻译可能仍在进行中。有关最新信息,请访问英文文档。如果此页面上的翻译有问题,请告诉我们
文章版本: GitHub.com

关于 GitHub Pages

您可以使用 GitHub Pages 直接从 GitHub 仓库托管关于自己、您的组织或您的项目的站点。

GitHub Pages 可用于具有 GitHub Free 的公共仓库,以及具有 GitHub Pro、GitHub Team、GitHub Enterprise Cloud 和 GitHub Enterprise Server 的公共和私有仓库。 更多信息请参阅“GitHub 的产品”。

本文内容

关于 GitHub Pages

GitHub Pages 是一项静态站点托管服务,它直接从 GitHub 上的仓库获取 HTML、CSS 和 JavaScript 文件,(可选)通过构建过程运行文件,然后发布网站。 您可以在 GitHub Pages 示例集合中查看 GitHub Pages 站点的示例。

您可以在 GitHub 的 github.io 域或自己的自定义域上托管站点。 更多信息请参阅“对 GitHub Pages 使用自定义域”。

要开始使用,请参阅“创建 GitHub Pages 站点”。

GitHub Pages 站点的类型

有三种类型的 GitHub Pages 站点:项目、用户和组织。 项目站点连接到 GitHub 上托管的特定项目,例如 JavaScript 库或配方集合。 用户和组织站点连接到特定的 GitHub 帐户。

To publish a user site, you must create a repository owned by your user account that's named <user>.github.io. To publish an organization site, you must create a repository owned by an organization that's named <organization>.github.io. 除非您使用自定义域,否则用户和组织站点位于 http(s)://<username>.github.iohttp(s)://<organization>.github.io

项目站点的源文件与其项目存储在同一个仓库中。 除非您使用自定义域,否则项目站点位于 http(s)://<user>.github.io/<repository>http(s)://<organization>.github.io/<repository>

有关自定义域如何影响站点 URL 的更多详细,请参阅“关于自定义域和 GitHub Pages”。

您只能为每个 GitHub 账户创建一个用户或组织站点。 项目站点(无论是组织还是用户帐户拥有)没有限制。

注:使用旧版 <user>.github.com 命名方案的仓库仍将发布,但访问者将从 http(s)://<username>.github.com 重定向到 http(s)://<username>.github.io。 如果 <user>.github.com<user>.github.io 仓库均存在,将仅发布 <user>.github.io 仓库。

GitHub Pages 站点的发布来源

GitHub Pages 站点的发布来源是存储站点源文件的分支或文件夹。 所有站点都有默认的发布来源,项目站点还有其他可用的发布来源。

Warning: GitHub Pages sites are publicly available on the internet, even if their repositories are private or internal. 如果站点的仓库中有敏感数据,您可能想要在发布前删除它。 For more information, see "About repository visibility."

用户和组织站点的默认发布来源是 master 分支。 如果用户和组织站点的仓库是 master 分支,您的站点将从该分支自动发布。 您无法为用户或组织站点选择不同的发布来源。

项目站点的默认发布来源是 gh-pages 分支。 如果项目站点的仓库有 gh-pages 分支,您的站点将从该分支自动发布。

项目站点也可以从 master 分支或 master 分支上的 /docs 文件夹发布。 要从这些来源之一发布站点,您必须配置不同的发布来源。 更多信息请参阅“配置 GitHub Pages 站点的发布来源”。

如果选择 master 分支的 /docs 文件夹作为您的发布来源,GitHub Pages 将读取 /docs 文件夹中的所有内容以发布您的站点(包括 CNAME 文件)。例如,当您通过 GitHub Pages 设置编辑自定义域时,该自定义域将写入 /docs/CNAME。 有关 CNAME 文件的更多信息,请参阅“管理 GitHub Pages 站点的自定义域”。

You cannot publish your project site from any other branch, even if the default branch is not master or gh-pages.

静态站点生成器

GitHub Pages 会发布您推送到仓库的任何静态文件。 您可以创建自己的静态文件或使用静态站点生成器为您构建站点。 您还可以在本地或其他服务器上自定义自己的构建过程。 我们建议使用 Jekyll,它是一个静态站点生成器,内置 GitHub Pages 支持和简化的构建流程。 更多信息请参阅“关于 GitHub Pages 和 Jekyll”。

默认情况下,GitHub Pages 将使用 Jekyll 来构建您的站点。 如果您想使用除 Jekyll 以外的静态站点生成器,通过在发布来源的根目录中创建一个名为 .nojekyll 的空文件来禁用 Jekyll 构建过程,然后按照静态站点生成器的说明在 本地构建站点。

GitHub Pages 不支持服务器端语言,例如 PHP、Ruby 或 Python。

使用 GitHub Pages 的指南

  • 2016 年 6 月 15 日后创建并使用 github.io 域的 GitHub Pages 站点通过 HTTPS 提供服务。 如果您在 2016 年 6 月 15 日之前创建站点,您可以为站点的流量启用 HTTPS 支持。 更多信息请参阅“使用 HTTPS 保护 GitHub Pages”。
  • GitHub Pages 站点不应该用于敏感事务,例如发送密码或信用卡号码。
  • 您对 GitHub Pages 的使用受 GitHub 服务条款的约束,包括禁止转售。

使用限制

GitHub Pages 站点受到以下使用限制的约束:

  • GitHub Pages 源仓库建议的限制为 1GB。更多信息请参阅“我的磁盘配额是多少?

  • 发布的 GitHub Pages 站点不得超过 1 GB。

  • GitHub Pages 站点的带宽限制为每月 100GB。

  • GitHub Pages 站点的限制为每小时 10 次构建。

如果您的站点超出这些使用配额,我们可能无法为您的站点提供服务;或者您可能收到来自 GitHub 支持GitHub 高级支持 的礼貌电子邮件,建议降低站点对服务器影响的策略,包括将第三方内容分发网络 (CDN) 置于您的站点前,利用其他 GitHub 功能(如发行版)或转用可能更符合您需求的其他托管服务。

禁止使用

GitHub Pages 并非旨在用于或允许用作免费的 Web 托管服务来运行您的在线业务、电子商务站点或主要针对促进商业交易或提供商业软件即服务 (SaaS) 的任何其他网站。

此外,GitHub Pages 站点必须避免:

  • 非法或者我们的服务条款社区指导方针禁止的内容或活动
  • 暴力或有威胁的内容或活动
  • 过多的自动批量活动(例如,垃圾邮件)
  • 危害 GitHub 用户或 GitHub 服务的活动
  • 快速致富计划
  • 性淫秽内容
  • 歪曲您的身份或站点目的的内容

如果您对用途或预期用途是否归入这些类别有疑问,请联系 GitHub 支持GitHub 高级支持

GitHub Pages 上的 MIME 类型

MIME 类型是服务器发送到浏览器的标头,提供有关浏览器所请求文件性质和格式的信息。 GitHub Pages 支持数千种文件扩展名中 750 多种 MIME 类型。 支持的 MIME 类型列表从 mime-db project 生成。

虽然无法基于每个文件或每个仓库指定自定义 MIME 类型,但您可以添加或修改 MIME 类型以在 GitHub Pages 上使用。 更多信息请参阅 mime-db 参与指南

延伸阅读

问问别人

找不到要找的内容?

联系我们