使用 GitHub 页面时了解 Jekyll 和 gh-pages 分支

Understanding Jekyll and the gh-pages branch when using GitHub Pages

我将 Jekyll 与 GitHub 页面(特别是项目页面)一起使用。我创建了 2 个分支:

  1. master
  2. gh-pages

documentation 说明网站内容存储在 gh-pages 分支中,该内容将由 Jekyll 呈现。输出将在 URL 处可用,例如 username.github.io/project-name.

如果我在本地 master 分支中 运行 jekyll new mysite,则会在该分支中创建 _config.yml、_posts、_sites 等。此时如果我 运行 jekyll serve 我可以在 localhost:4000 看到一个基本站点(这很棒)。

我的问题:

考虑到我目前在 master 分支中的内容目前似乎正在工作,gh-pages 分支的目的是什么? a) master 分支和 b) gh-pages 分支中究竟应该包含什么?

提前致谢。

如 github gh-pages 中所述:

Roll vanilla, or generate a site for your project to quickly get started.

gh-pages 只是一个 github 特定分支,允许您将其用作您的网站。

这意味着如果您在该页面中有 index.html,您将可以直接在浏览器中查看它。

你这个link格式:username.github.io/project_name

可在此处找到更多信息:https://pages.github.com/

阅读Github pages documentation

如果您想推送您的代码并让 Github 生成您的站点:

您只需要对代码而非生成的页面进行版本控制。所以,只需要一个分支。

  1. 对于 user/organisation Github 页面 (github.com/username/username.github.io),您将代码发布在 master.
  2. 对于项目页面 (github.com/username/projectRepository),您在 gh-pages 中发布代码。这里不需要 master 分支。

如果您需要在本地生成您的站点并且只在 Github 上发送生成的页面:

您需要对代码和生成的页面进行版本控制。因此,将需要两个分支。

  1. User/organisation 存储库:基本代码进入 code(或 不管你怎么命名)分支,生成的页面进入 master.
  2. Project 存储库:基本代码进入 master(或任何你 命名)分支,生成的页面进入 gh-pages.