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

关于 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 帐户。

用户和组织站点始终从名为 <user>.github.io<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 站点的发布来源是存储站点源文件的分支或文件夹。 所有站点都有默认的发布来源,项目站点还有其他可用的发布来源。

警告:GitHub Pages 站点在互联网上向公众开放,即使其仓库是私有的。如果您的页面仓库中有敏感数据,可能需要在发布之前将其删除。

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

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

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

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

延伸阅读

问问别人

找不到要找的内容?

联系我们