我以前在最新的GitHub Pages网站上工作。我的网站是一个React应用。我终于在大约一个月前使该网站开始运行,但是当我将更改推送到GitHub时,我的网站无法自动重新呈现,这使我陷入困境。我可以重新渲染网站的唯一方法就是发布它,但是我可以肯定我不应该经常发布它。
我认为问题是我实际上没有更新存储库的gh-pages
分支,而且我不确定是否应该这样做。我可以做?如果答案是肯定的,那我该怎么做呢?我也不太确定如何推动该分支。
我已经发布了有关此内容的信息,但是已经有很长的时间了,并且没有人回应,因此我添加了一些有关我认为问题可能在这里的信息。
答案 0 :(得分:2)
我认为问题是我实际上没有更新存储库的
gh-pages
分支,而且我不确定是否应该这样做。我可以做?如果答案是肯定的,那我该怎么做呢?我也不太确定如何推动该分支。
假设您的GitHub Pages网站renders from gh-pages
,那么是,这是您应该进行更改的分支,应该将其推送到GitHub。
我不确定您使用的是什么工作流程,但是更改分支的一种常见方法是
git checkout gh-pages
签出,git add
您要提交的更改,以及git commit
创建一个新的提交。您可以根据需要重复步骤2-4。
一旦准备好发布新更改,就可以将gh-pages
推送到GitHub。同样,我不知道您的确切工作流程,但是简单的git push
签出gh-pages
可能就足够了。
答案 1 :(得分:1)
我认为您不应该直接推送到您的gh-pages
分支。 gh-pages
命令将其推送给您。
我查看了package.json中的npm部署脚本,发现您有"deploy": "gh-pages -d dist"
。根据{{3}},当您运行
gh-pages -d dist
,gh-pages
命令将把当前分支的dist/
目录中的所有内容发布到gh-pages
远程分支。这样,您的站点就会从生成的构建文件(已推送到该gh-pages
分支)中服务。
我还注意到gh-pages
文档的末尾说:
如果gh-pages失败,您可能会发现需要手动清理缓存目录。要删除缓存目录,请运行node_modules / gh-pages / bin / gh-pages-clean或删除node_modules / .cache / gh-pages。
^^^这些实际上是错误的指令。第一个选项应为node node_modules/gh-pages/bin/gh-pages-clean
。第二种选择应该是删除node_modules/gh-pages/.cache
(因为.cache
居住在gh-pages
中,而不是相反)。
即使在您停止推送到gh-pages
分支之后,如果事情仍然没有按预期进行,您可能要尝试使用一种杀死缓存的方法。
答案 2 :(得分:0)
我使用了https://github.com/gitname/react-gh-pages上的说明来设置gh页。要更新使用create-react-app创建的React应用,我只需要运行yarn build
然后运行yarn run deploy
。