Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在使用GitHub页面时理解Jekyll和gh页面分支_Git_Github_Jekyll_Github Pages - Fatal编程技术网

在使用GitHub页面时理解Jekyll和gh页面分支

在使用GitHub页面时理解Jekyll和gh页面分支,git,github,jekyll,github-pages,Git,Github,Jekyll,Github Pages,我将Jekyll用于GitHub页面(特别是项目页面)。我创建了两个分支: master gh页面 说明网站内容存储在gh pages分支中,内容将由Jekyll呈现。输出将在诸如username.github.io/project-name之类的URL上可用 如果我在本地master分支中运行jekyll new mysite,则会在该分支中创建_config.yml、_posts、_sites等。在这一点上,如果我运行jekyllserve,我可以在localhost:4000上看到一个基本

我将Jekyll用于GitHub页面(特别是项目页面)。我创建了两个分支:

  • master
  • gh页面
  • 说明网站内容存储在
    gh pages
    分支中,内容将由Jekyll呈现。输出将在诸如username.github.io/project-name之类的URL上可用

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

    我的问题:

    考虑到我目前在
    master
    分支中的内容似乎正在发挥作用,那么
    gh pages
    分支的目的是什么?a)
    master
    分支和b)
    gh页面
    分支中到底应该包含什么

    提前感谢。

    如github gh页面所述: 滚动香草,或者为您的项目生成一个站点以快速启动

    gh页面
    只是一个特定于github的分支,允许您将其用作web站点

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

    您可以使用以下链接格式:
    username.github.io/project\u name

    更多信息可在此处找到:

    阅读:

    如果要推送代码并让Github生成站点: 您只需要对代码进行版本设置,而不需要对生成的页面进行版本设置。因此,只需要一个分支

  • 对于用户/组织Github页面 (
    github.com/username/username.github.io
    ),您可以在
    master
  • 对于项目页面(
    github.com/username/projectRepository
    ),可以在
    gh页面
    中发布代码。在这里,您不需要
    master
    分支
  • 如果您需要在本地生成站点,并且只在Github上发送生成的页面: 您需要对代码和生成的页面进行版本设置。因此,需要两个分支机构

  • 用户/组织
    存储库:基本代码进入
    代码
    (或 不管你叫它什么)分支,生成的页面进入
    master
  • Project
    repository:基本代码进入
    master
    (或任何您需要的内容) 命名它)分支,生成的页面进入
    gh页面

  • 谢谢那么
    master
    gh页面的内容是否应该完全相同呢?我甚至需要
    master
    分支吗?文档似乎建议config etc进入
    master
    ,而内容只进入
    gh页面
    。您只能对内容(service index.html/或REAME.md)和代码使用
    gh页面
    。我不确定我是否明白您的意思?您可以对代码和文档使用相同的分支,这是按钮行。谢谢。我知道在同一个分支中可以同时使用代码和内容,我只是想知道这是否是推荐的做法。如果你阅读第一段,你会看到它提到网页内容进入
    gh页面
    。它似乎暗示内容只进入这个分支,因为它没有提到代码。我可以问一下为什么本地需要2个分支(你的最后一个要点),而服务器上只需要
    gh页面
    (你的步骤2)?谢谢更新。在GitHub项目页面中使用Jekyll时,建议使用哪种方法?这取决于您是否可以让GitHub生成页面,请转到2。如果您必须在本地生成(例如:因为您使用的是Github上未使用的外来插件),您可以选择4。考虑到Jekyll在服务器上和本地生成我的页面(我没有使用任何外来插件),这是否表明我应该采用第2点(而不是第4点)?是的。如果Github生成页面,则无需对其进行版本设置。因此,只需要一个
    gh-pages
    分支。如果要发布项目网站,则不需要母版分支。您将只需要一个分支。因此,可以在创建gh pages分支后删除主分支。然后你上传你的网站内容到gh页面;无论您是上传Jekyll文件夹(这样GitHub将构建您的站点),还是上传您的
    \u站点
    文件夹(这样GitHub将只像web服务器一样显示您的文件),都无关紧要。就这样。谢谢@VirtualCreative,我可以采取两种方法。看见我想知道人们通常采用什么方法来使用GitHub页面上的Jekyll?不客气。我相信你需要了解杰基尔的本地构造。假设您想要将一个Jekyll网站上载到一个公共Apache web服务器(而不是GitHub页面)。您可以上传Jekyll在本地为您构建的
    \u站点
    文件夹。现在,当使用GitHub作为主机时,您可以选择其中之一,因为GitHub会自动为您构建它。关于GitHub中的用户/组织和项目网站,问题是:您可以拥有任意数量的网站。一个用于用户/组织,多个用于项目。我建议您阅读本文以获得更好的概述。如果您没有任何高级插件,大多数开发人员的做法是将Jekyll文件夹上载到gh pages branch,并将GitHub设置为忽略本地
    \u站点
    文件夹。如果您不需要
    master
    分支,请继续删除它!若你们不需要一个以上的网站,那个么选择用户网站,而不是项目。我这么说是因为如果你创建一个项目站点,你将拥有这个域名:
    username.github.io/project
    。如果访问者尝试
    username.github.io
    ,他会发现404错误。希望有帮助!