如何更新gh-pages分支?

时间:2018-08-26 00:05:51

标签: git reactjs github github-pages

我以前在最新的GitHub Pages网站上工作。我的网站是一个React应用。我终于在大约一个月前使该网站开始运行,但是当我将更改推送到GitHub时,我的网站无法自动重新呈现,这使我陷入困境。我可以重新渲染网站的唯一方法就是发布它,但是我可以肯定我不应该经常发布它。

我认为问题是我实际上没有更新存储库的gh-pages分支,而且我不确定是否应该这样做。我可以做?如果答案是肯定的,那我该怎么做呢?我也不太确定如何推动该分支。

我已经发布了有关此内容的信息,但是已经有很长的时间了,并且没有人回应,因此我添加了一些有关我认为问题可能在这里的信息。

Original Post

3 个答案:

答案 0 :(得分:2)

  

我认为问题是我实际上没有更新存储库的gh-pages分支,而且我不确定是否应该这样做。我可以做?如果答案是肯定的,那我该怎么做呢?我也不太确定如何推动该分支。

假设您的GitHub Pages网站renders from gh-pages,那么是,这是您应该进行更改的分支,应该将其推送到GitHub。

我不确定您使用的是什么工作流程,但是更改分支的一种常见方法是

  1. git checkout gh-pages签出,
  2. 进行更改,
  3. git add您要提交的更改,以及
  4. 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 distgh-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