是否可以将非主分支部署到 Github 页面?

Is it possible to deploy a non-master branch to Github Pages?

我有一个使用 create-react-app 创建的 React 应用程序,它使用以下命令通过 npm run deploy 命令部署到 Github 页面:

"scripts": {
    "predeploy": "npm run build",
    "deploy": "gh-pages -d build",

更具体地说,我使用了此处的 Github 页步骤:https://www.freecodecamp.org/news/surge-vs-github-pages-deploying-a-create-react-app-project-c0ecbf317089

我从我的一些非开发朋友那里得到了关于应用程序不同版本的反馈,所以我希望能够进行更改,将它们推送到一个分支,然后将该分支部署到主页.然后,如果更改不受欢迎,我可以再次部署 master 分支,而不必用合并和还原弄乱 master 分支。这可能吗?如果可以,我该怎么做?我已经尝试在脚本中使用 "deploy": "gh-pages -b <branch-name> -d build",但无济于事,而且 Google 似乎无法回答这个特定问题。 (可能是我在“How to deploy a React app to Github Pages”教程海中找不到,我已经解决了)

存储库,以防需要更多上下文:https://github.com/JayBaileyCS/cultivation-idle

Github 页面和 gh-pages 是不同的东西。

gh-pages npm 包是一个帮助程序,可以轻松地使用您构建的源代码创建(新)分支,然后 github 使用该分支来托管页面。默认情况下,此目标分支称为 gh-pages

部署不同的源分支

如果您尝试从不同的分支部署源代码,那么您只需执行以下操作:

git checkout <branch-name>
npm run build
npm run deploy

这将使用您当前分支的源来创建或更新 gh-pages 分支。


使用不同的分支作为目的地

gh-pages命令的-b <branch-name>部分告诉它把编译后的html放到哪个分支。如果你愿意,你也可以告诉 github 服务于不同的目的地分支 -

来自the documentation

  • Go to your repository
  • Click settings
  • In the "Code and automation" section of the sidebar, click Pages.
  • Under "GitHub Pages", use the None or Branch drop-down menu and select a publishing source.

发布源允许您select分支。

您还可以在该分支中选择一个文件夹:

  • Optionally, use the drop-down menu to select a folder for your publishing source.