Github 不会让我把个人网站的源改成gh-pages 分支吧?

Github won't let me change the source of my personal website to gh-pages branch?

我不久前使用 github 页面制作了一个个人网站,但最近使用 ReactJS 从头开始​​重新创建了它。我更改了旧网站存储库的名称并创建了新的 username.github.io 并移动了 CNAME。然后我开始关注:

https://github.com/facebookincubator/create-react-app/blob/master/packages/react-scripts/template/README.md#github-pages

然而,我卡在了第 4 步,我应该将源代码更改为 gh-pages 分支。更改它的选项不可单击,并且在它的正下方显示 "User pages must be built from the master branch"。

我的想法是,这是因为我的存储库被命名为 username.github.io,因此是一个用户页面。我猜教程可能专门针对项目页面?如果有区别的话,我最初也有一个自定义域。我想也许问题可能是我的主页设置不正确?由于我的应用程序(存储库)被命名为 username.github.io,我对如何设置主页感到有点困惑。我尝试 username.github.io/username.github.io 和 username.github.io 作为我 package.json 的主页,但它只是发布了我的自述文件。

该教程一定是在没有考虑用户页面的情况下完成的:参见 August 2016 ("Simpler GitHub Pages publishing")

如今,发布是直接从 master 分支(或 master 分支的 docs 文件夹)为用户页面(而不是项目页面)完成的

facebookincubator/create-react-app issue 2976所述:

You can keep source in another branch, and copy contents of build folder to master branch after every build.
I don't think there's anything special you need to do—just more manual steps.
Maybe you could automate it somehow.

VonC 的回答是正确的。但是,我想澄清并补充他的回答。项目的构建过程将构建到包含 index.html 文件的文件夹 (dist/build/etc)。 Github 正在寻找此文件,而该文件又会(很可能)寻找其他文件,例如样式表、媒体以及您用来构建网站的任何其他文件。

VonC 的意思是您实际上可以将必要的文件复制并粘贴到根目录(打开项目文件夹时出现的内容)。按这个,它应该可以工作。

但是,这不是理想的解决方案。每次要构建时,您都必须手动将其移动。自动执行此过程的方法是使用符号链接将根目录中的文件连接到构建文件夹。这也不是很理想,但它确实有效!