无法在GitHub页面中更改源分支

时间:2016-10-11 13:50:59

标签: github github-pages

我为GitHub Pages创建了一个简单的网站。网站的来源是" master"分支机构和生成的网站(我希望看到发布的内容)位于" gh-pages"分支。

Branches

我原本希望能够在设置中更改网站的来源。但是,设置是否为灰色?我无法改变它(见下面的截图)。我究竟做错了什么?如何切换到" gh-pages"分支?

enter image description here

3 个答案:

答案 0 :(得分:27)

个人或组织网站由master构建。 gh-pages分支用于为项目构建站点。

据我所知,您使用的是https://user-name.github.io/网址,这是个人网址,因此master分支是默认分支。

请参阅documentation page

  

如果您的网站是具有名为<username>.github.io<orgname>.github.io的存储库的用户或组织网页,则无法从不同位置发布您网站的源文件。具有此类存储库名称的用户和组织页面仅从主分支发布。

所以答案是否定的,你无法改变它。您必须调整工作流程并将开发保留在另一个分支(让我们称之为development)并在您准备发布时合并到master

答案 1 :(得分:0)

好的,如果您使用angular-cli-ghpages,默认情况下会创建一个新的分支gh-pages并发布到它。

现在作为首发,像我一样,如果您使用的是 https://user-name.github.io/ ,并希望您的应用从 user-name.github.io <的主分支发布/ strong>您可以按照以下步骤操作。

  1. 使用

    制作生产就绪版本
    ng build --prod --base-href "/user-name.github.io/"
    
  2. 使用

    使用angular-cli-ghpages部署到
    angular-cli-ghpages --branch=master
    
  3. 希望这有帮助。

答案 2 :(得分:0)

FWIW,这是我使用Next.jsgh-pages发布个人页面(即https://user-name.github.io)时使用的设置:

  1. 在您的存储库中创建另一个默认分支以供使用(例如develop
  2. 构建网站的静态导出:next build && next export
  3. 在导出目录.nojekyll中放置一个touch out/.nojekyll标记文件
  4. 将静态导出内容上传到master分支:gh-pages -t -b master -d out

您可以将以下命令捆绑在package.json中,以方便使用yarn deploy命令:

scripts: {
  ...
  "build": "next build",
  "export": "yarn run build && next export",
  "deploy": "yarn export && touch out/.nojekyll && gh-pages -t -b master -d out"
  ...