无法更改 GitHub Pages 中的源分支

Posted

技术标签:

【中文标题】无法更改 GitHub Pages 中的源分支【英文标题】:Unable to change source branch in GitHub Pages 【发布时间】:2017-02-20 02:09:33 【问题描述】:

我为 GitHub Pages 创建了一个简单的网站。该站点的源代码在“master”分支中,生成的网站(我希望看到的已发布)位于“gh-pages”分支下。

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

【问题讨论】:

您找到解决此问题的方法了吗? 目前的方式太有限了。例如,我刚刚将我的主分支从master 更改为v1,但只能从master 分支生成doc,即使该分支不存在。我希望它允许为每个分支构建一个站点文档。这对于记录版本并能够预览尚未在 master 分支中的新版本非常棒。 【参考方案1】:

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

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

见documentation page

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

所以答案是否定的,你不能改变它。您必须调整工作流程并在另一个分支中继续开发(我们称之为development)并在准备好发布时合并到master

UPD:现在是 2020 年,所以从 July 31st GitHub Pages 开始,您可以将任何分支配置为旧的 master

【讨论】:

感谢@Anton 提供详细信息。我希望能够将站点源代码放在 master 下,并将生成的站点放在 gh-pages 下。看来我误解了它的工作原理。 有人找到解决办法吗? 如果我想从根 /docs 文件夹部署怎么办?为 vue.js 项目构建静态文件的地方 从 2020 年开始,我的问题是我做了一个名为“.github.io”的 repo,而 github 设置迫使我只能留在 master 上。我去将我的存储库的名称更改为最后没有“github.io”的名称,然后我就可以切换了。现在唯一的事情是内容转移到了 https://.github.io// 。【参考方案2】:

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

    在你的仓库中创建一个不同的默认分支来工作(例如develop) 构建站点的静态导出:next build && next export 在导出目录中放一个.nojekyll标记文件:touch out/.nojekyll 上传静态导出到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"
  ...

【讨论】:

【参考方案3】:

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

现在作为初学者,像我一样,如果您使用 https://user-name.github.io/ 并且希望从 user-name.github.io 的主分支发布您的应用可以按照以下步骤进行。

    使用

    进行生产就绪构建
    ng build --prod --base-href "/user-name.github.io/"
    

    使用angular-cli-ghpages 部署到 master 使用

    angular-cli-ghpages --branch=master
    

希望这会有所帮助。

【讨论】:

以上是关于无法更改 GitHub Pages 中的源分支的主要内容,如果未能解决你的问题,请参考以下文章

git之GitHub Pages

尝试更改github页面的源时,无法选择master branch / docs文件夹

github怎样创建gh-page

创建github仓库的gh-pages分支

Github 中提交项目到自己仓库的gh-pages分支

Github Pages Publishing 主页 URL 不变