无法更改 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 年开始,我的问题是我做了一个名为“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 中的源分支的主要内容,如果未能解决你的问题,请参考以下文章