注意
虽然 github-pages gem 仍然支持某些工作流,但现在推荐使用 GitHub Actions 来部署 GitHub Pages 网站并实现其自动化。
先决条件
在使用 Jekyll 创建 GitHub Pages 站点之前,必须安装 Jekyll 和 Git。 有关详细信息,请参阅 Jekyll 文档中的安装和“设置 Git”。
建议使用 Bundler 安装和运行 Jekyll。 Bundler 可管理 Ruby gem 依赖项,减少 Jekyll 构建错误和阻止环境相关的漏洞。 要安装 Bundler:
为站点创建仓库
可以为站点创建存储库或选择现有存储库。
如果存储库中并非所有文件都与站点相关,且要为存储库创建 GitHub Pages 站点,则能够为站点配置发布源。 例如,可以使用专用分支和文件夹来保存站点源文件,也可以使用自定义 GitHub Actions 工作流来生成和部署站点源文件。 若要将GitHub Actions用作GitHub Pages的发布源,网站管理员必须为GitHub Actions启用GitHub Enterprise Server。 有关详细信息,请参阅 为 GitHub Enterprise Server 启用 GitHub Actions。
如果要在现有存储库中创建站点,请跳至创建站点。
-
在任何页面的右上角,选择 ,然后单击“新建存储库”。

-
使用“所有者”下拉菜单选择你想要拥有存储库的帐户。

-
输入仓库的名称和说明(可选)。 如果要创建用户或组织站点,则存储库必须命名为
<user>.github.io或<organization>.github.io。 如果您的用户或组织名称包含大写字母,您必须小写字母。 有关详细信息,请参阅“什么是 GitHub Pages?”。
-
选择仓库可见性。 有关详细信息,请参阅“关于仓库”。
创建站点
必须先在 GitHub 上有站点的仓库,然后才可创建站点。 如果未在现有存储库中创建站点,请参阅为站点创建存储库。
警告
如果你的站点管理员启用了公共页面,GitHub Pages 站点将在 Internet 上公开,即使该站点的存储库是私有的或内部的也是如此。 如果站点的存储库中有敏感数据,你可能想要在发布前删除数据。 有关详细信息,请参阅 为企业配置GitHub页面 和 关于仓库。
-
打开终端终端Git Bash。
-
如果还没有您的存储库的本地副本,请导航到您希望存储站点源文件的位置,将 PARENT-FOLDER 替换为要包含存储库文件夹的目录名。
cd PARENT-FOLDER -
如果尚未初始化本地 Git 存储库,请将 REPOSITORY-NAME 替换为存储库名称。
git init REPOSITORY-NAME > Initialized empty Git repository in /REPOSITORY-NAME/.git/ # Creates a new folder on your computer, initialized as a Git repository -
将目录更改为仓库。
cd REPOSITORY-NAME # Changes the working directory -
确定要使用的发布源。 有关详细信息,请参阅“为您的 GitHub Pages 网站配置发布源”。
-
导航到站点的发布来源。 有关详细信息,请参阅“为您的 GitHub Pages 网站配置发布源”。 例如,如果选择从默认分支上的
docs文件夹发布网站,请创建目录并将其更改为该docs文件夹。mkdir docs # Creates a new folder called docs cd docsIf you chose to publish your site from the
gh-pagesbranch, create and checkout thegh-pagesbranch.git checkout --orphan gh-pages # Creates a new branch, with no history or contents, called gh-pages, and switches to the gh-pages branch git rm -rf . # Removes the contents from your default branch from the working directory -
若要创建新的 Jekyll 站点,请在存储库根目录中使用
jekyll new命令:jekyll new --skip-bundle . # Creates a Jekyll site in the current directory -
打开 Jekyll 创建的 Gemfile 文件。
-
将“#”添加到以
gem "jekyll"开头的行首,以注释禁止此行。 -
编辑以
github-pages开头的行,以添加# gem "github-pages"gem。 将此行更改为:gem "github-pages", "~> GITHUB-PAGES-VERSION", group: :jekyll_plugins将 GITHUB-PAGES-VERSION 替换为
github-pagesgem 的最新支持版本。 可以在以下位置找到这个版本:依赖项版本。正确版本的 Jekyll 将作为
github-pagesgem 的依赖项进行安装。 -
保存并关闭 Gemfile。
-
从命令行中,运行
bundle install。 -
打开 Jekyll 创建的
.gitignore文件,并通过添加以下行来忽略 gems 锁定文件:Gemfile.lock -
(可选)对
_config.yml文件进行任何必要的编辑。 当仓库托管在子目录时相对路径需要此设置。 有关详细信息,请参阅“将子文件夹拆分为新存储库”。domain: my-site.github.io # if you want to force HTTPS, specify the domain without the http at the start, e.g. example.com url: https://my-site.github.io # the base hostname and protocol for your site, e.g. http://example.com baseurl: /REPOSITORY-NAME/ # place folder name if the site is served in a subfolder -
(可选)在本地测试您的站点。 有关详细信息,请参阅“使用 Jekyll 在本地测试 GitHub Pages 网站”。
-
添加并提交您的工作。
git add . git commit -m 'Initial GitHub pages site with Jekyll' -
在 你的 GitHub Enterprise Server 实例 上将你的仓库添加为远程仓库,并将 HOSTNAME 替换为你的企业主机名、USER 替换为拥有该仓库的账户名,以及将 REPOSITORY 替换为仓库名称。
git remote add origin https://HOSTNAME/USER/REPOSITORY.git -
将存储库推送到 GitHub其中,将 BRANCH 替换为正在处理的分支的名称。
git push -u origin BRANCH -
配置发布源。 有关详细信息,请参阅“为您的 GitHub Pages 网站配置发布源”。
-
在 GitHub 上,导航到站点的仓库。
-
在仓库名称下,单击 “Settings”****。 如果看不到“设置”选项卡,请选择“”下拉菜单,然后单击“设置”。

-
在边栏的“代码和自动化”部分中,单击“ Pages”****。
-
若要查看已发布的网站,请在“GitHub Pages”下单击“ Visit site”****。

注意
对站点的更改在推送到 GitHub 后,最长可能需要 10 分钟才会发布。 如果一小时后仍然在浏览器中看不到 GitHub Pages 站点更改,请参阅 关于 GitHub Pages 站点的 Jekyll 构建错误。
注意
- 如果你将从分支发布,并且你的站点没有自动发布,请确保拥有管理员权限和经过验证的电子邮件地址的人已将其推送到发布源。
- 由使用
GITHUB_TOKEN的 GitHub Actions 工作流推送的提交不会触发 GitHub Pages 生成。
后续步骤
若要向站点添加新页面或帖子,请参阅“使用 Jekyll 将内容添加到 GitHub Pages 网站”。
您可以将 Jekyll 主题添加到 GitHub Pages 站点,以自定义站点的外观。 有关详细信息,请参阅 使用 Jekyll 向 GitHub Pages 网站添加主题。