【问题标题】:GitHub pages are not updatingGitHub 页面未更新
【发布时间】:2013-12-23 17:00:31
【问题描述】:

我在 GitHub 页面上遇到了一个奇怪的问题。我将新的提交推送到我的个人页面页面maltzj.github.io,但新文章没有显示在那里。当我在本地执行服务器时,一个帖子位于localhost:4000/posts/the-price-of-inconsistent-code/。但是,当我转到 http://maltzj.github.io/posts/the-price-of-inconsistent-code 时,我得到了 404。我还添加了一个新文件,它应该位于 http://maltz.github.io/test.html,但这也会引发 404。

一切都在本地构建和运行。我的 Git 存储库是最新的,GitHub 状态页面上没有关于构建问题的任何内容,所以我有点不知道该去哪里。如何使用我添加的新内容更新我的页面?

作为参考,支持我的页面的存储库的位置是http://github.com/maltzj/maltzj.github.io

【问题讨论】:

  • “您要发布一个吗?最多可能需要十分钟,您的页面才可用。”
  • 我知道,但是发布提交已经在 repo 中超过 5 个小时并且没有显示出来。个人页面通过master正确部署?
  • 对我来说这是因为浏览器使用缓存数据(旧样式)所以我打开了其他浏览器
  • 这是我的浏览器。打开 Firefox 可以正常工作。
  • 使用 Ctrl+Shift+R 硬重新加载页面对我有帮助,因为它是浏览器最初使用的缓存数据。

标签: github github-pages


【解决方案1】:

我尝试了几乎所有的答案,尝试编辑index.html 等。

我的错误是,我没有构建和部署,所以我在我的 npm 脚本中添加了构建和部署步骤。如果您使用的是React application,则不要直接复制粘贴此代码或直接获取代码。

这些是我的构建脚本:

  "scripts": {
    "predeploy": "npm run build",
    "deploy": "gh-pages -b master -d build",
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  }

完成更改后,您的应用程序使用npm start 运行良好。请按以下步骤操作:

第一步:运行命令npm run build

如果一切顺利,你会收到消息:the build folder is ready to deploy

第二步:运行命令npm run deploy

你会收到这样的消息:published

第 3 步:刷新您的应用:例如 https://kushalseth.github.io。不是强制性的,但请提交并推送所有更改以供参考。

PS:如果您遇到类似 404 的问题,请查看以下答案:React Github Pages Deploy ERR_ABORTED 404 (Not Found)

【讨论】:

    【解决方案2】:

    我今天在静态页面上遇到了这个问题 - 原因实际上是 GitHub Pages 本身的服务故障。您可以通过https://www.githubstatus.com/查看服务消息。

    【讨论】:

    • 我几乎撕掉了我的整个网站,试图减少代码问题 - 结果从昨天开始,github 已经有大量的页面构建积压 - 这几乎是 24 小时。 (Github 应该在他们的故障排除页面上注明构建状态页面链接。我只找到状态页面是因为 404 错误,其中包含底部的链接。)
    • 谢谢 :) 今天我收到“正在调查 - 目前正在调查影响 Pages 构建和一些 webhook 交付的队列积压的增加。”
    • 我也是! @Thuan。太烂了!
    • 这发生了! -2021
    【解决方案3】:

    这些解决方案都没有为我解决这个问题。解决方案是编辑 GitHub 网站中的 index.html 文件。

    然后网站按预期在网络上更新。

    【讨论】:

    • 对我来说也一样。仅将一行更改为 index.html 使其“加载”“真实” index.html 而不是所有先前的提交。
    • GitHub Pages 没有看到我在上次提交中推送的图像。为了让 GitHub Pages 开始提供图像,我必须编辑 index.html(它使用图像),只需更改一些空白即可。我怀疑它不会重建,除非 HTML 页面发生变化。
    • 我刚刚在 GitHub 上的 index.html 中添加了一个空格,它就起作用了。奇怪的问题。
    • 有道理,这个解决方案对我有用。在我的情况下,这是由于我的应用程序是一个 SPA,其中更新仅使用 Javascript 进行,而不是来自 index.html。再说一次,我认为文件名有 md5sum (或其他东西)并且如果文件更改应该更改,因此它也应该更新 index.html 脚本标记。
    • “将 index.html 文件编辑到 GitHub 网站”是什么意思?
    【解决方案4】:

    我在一个非常基本的项目中遇到了同样的问题。硬重载 [ctrl + shift + r] 为我解决了这个问题。

    我的只是一个使用纯 HTML、CSS 和 JavaScript 的基本项目。上述方法可能适用于高级项目,也可能不适用于高级项目。

    【讨论】:

    • 这并不能真正回答问题。如果您有其他问题,可以点击 进行提问。一旦你有足够的reputation,你也可以add a bounty 来引起对这个问题的更多关注。 - From Review
    【解决方案5】:

    在我的例子中,我对 index.html 和 style.css 文件进行了一些更改,但这些更改并未反映在 Github 页面上。但是当我通过添加一行来更新自述文件时,页面得到了更新。 也许你可以试试这个,因为它可能对你有用,就像对我一样。

    【讨论】:

    • 相同。尝试只更新 index.html 几次但没有更新。在我更新 README.md(或删除它)后 - 即时更新
    【解决方案6】:

    我今天遇到了同样的神秘问题。我将一些新代码推送到我的 github.io-repository,但更改未显示在相应的网页上。我检查了页面,并没有在源代码中看到新代码。我通过硬重新加载解决了这个问题。在 Chrome 上,您可以通过打开 Dev Tools 并右键单击刷新按钮并选择 Hard Reload 来进行硬重新加载。

    【讨论】:

    • 或者在 chrome 中你可以“Ctrl+Shift+R”进行硬重载
    【解决方案7】:

    请务必清除您的网络历史记录,然后再试一次。 我的问题就这样解决了。

    【讨论】:

      【解决方案8】:

      如果您使用gh-pages 命令发布,则可能是gh-pages 本身的缓存问题。见底部gh-pages 文档:

      但是,请注意这些说明是错误的!

      要删除您的 gh-pages 缓存,请运行 node node_modules/gh-pages/bin/gh-pages-clean 或手动删除 node_modules/gh-pages 中的 .cache 目录。

      我已提交问题以更正此处的说明:https://github.com/tschaub/gh-pages/issues/367

      【讨论】:

        【解决方案9】:

        我让它工作了。 我的问题很简单。这是浏览器缓存问题。

        我在其他浏览器上打开了我的链接,它显示了更新后的推送。

        【讨论】:

        • 赞成这个,因为这正是我的版本显示过时的原因。使用CTRL + F5 或按住CTRL 并点击浏览器的刷新按钮。
        【解决方案10】:

        解决方案适用于使用 create-react-app 创建的应用程序:

        1. 转到存储库设置下的 GitHub Pages 部分
        2. 将源从 gh-pages branch 更改为 master branch
        3. 等待并检查您的自定义域网站,应该显示主分支README.md 文件
        4. 现在将源改回gh-pages
        5. 稍等几分钟,自定义域网站上会显示最新更改

        我尝试了不同的解决方案,但都没有奏效。比如a new commitan empty commitbrowser cache clearwait for 5 - 10 minutesdelete gh-pages branch and push againedit CNAMEcreate a new CNAME under on master branch

        注意:我的应用没有_config.yaml 文件,也没有jekyll。我正在使用带有 https(谷歌域)的自定义域。 gh-page package.json 脚本自动创建的分支deploy: "gh-pages -d deploy"

        【讨论】:

          【解决方案11】:
          1. 确保您的跑步 npm run deploy

          2. 清除浏览器缓存。

          【讨论】:

            【解决方案12】:

            前往

            设置/GitHub 页面/来源

            并将其更改为

            无(禁用 GitHub 页面)

            让系统保存您的更改。之后,改变

            设置/GitHub 页面/来源

            恢复到原来的值。

            【讨论】:

              【解决方案13】:

              如果我直接在 github 网站上编辑和提交文件,Github 不会为我发布到 github 页面。

              但是,如果我在本地编辑文件并使用 GitHub Desktop 提交,则更改会在几秒钟内发布到站点。

              顺便说一句,我的电子邮件已经过验证,所以这应该不是问题。而且我使用的是同一个帐户。

              【讨论】:

                【解决方案14】:

                我遇到了一封未经验证的电子邮件的问题。更新第一次工作,但之后就失败了。需要经过验证的电子邮件才能触发 GitHub 页面构建。部署密钥也不能用于此,因为它不会触发构建。

                来源:http://web.archive.org/web/20140712011932/https://help.github.com/articles/troubleshooting-github-pages-build-failures/

                免责声明:2014 年就是这种情况。不知道是否仍然需要。

                【讨论】:

                • 我也遇到了同样的问题,即未验证的电子邮件。
                • 这对我有帮助。这也是我经过大约一个小时的寻找后唯一提到的这个解决方案。
                • 部署密钥不会触发构建!?!?哎呀。谢谢,点赞。
                • 链接已损坏(“糟糕!此页面似乎不存在。”)。
                • @PeterMortensen 替换为网络存档链接,虽然不知道这些信息是否相关
                【解决方案15】:

                这周我遇到了这个问题,但没有解决办法。 我不使用 Jekyll,只使用纯静态 HTML。 刚坐了三天不更新。

                这是我必须做的才能让它再次发布。

                • master 创建一个snapshot 分支。
                • master 分支重置为最后一个活动的提交。 (提交选项卡,绿色复选标记表示已发布的提交)
                • 使用冒烟测试进行新的提交。我做了一个 HTML 注释,我可以 grep。
                • 强制推送master
                • 检查结果curl https://example.com | grep SMOKETEST
                • 再次重置master,移除冒烟测试。
                • Cherry-pick 从snapshot 分支中的每个提交,您需要将未发布的更改返回到master(cherry-picking 为提交提供新的 id/哈希,避免任何从之前缓存它们的风险)。
                • 再次强制推送master
                • 现在您应该会看到绿色复选标记和已发布的更新。

                注意:强制 push 移除卡住的提交并重新获取它们就足够了。几乎可以肯定不需要烟雾测试。可能不需要采摘樱桃。

                【讨论】:

                  【解决方案16】:

                  我使用了git commit -am "blah",但忘记了只有_data/navigation.yaml 中的导航链接被更改,并且我创建的新page.md 没有添加到工作树中,因此当我单击时显示404 错误导航树中的链接。

                  检查,仔细检查!

                  【讨论】:

                    【解决方案17】:

                    在我的例子中,我在_config.yaml 中留下了一个空参数url

                    在我指定url: example.github.io 之后,一切都开始工作了。

                    【讨论】:

                      【解决方案18】:

                      就我而言,我的问题是在git push 之后,我的 GitHub 文件正在更新,但没有在 GitHub 页面上显示我的网站。

                      注意:我是通过 React 创建网站

                      另外,在 HTML 项目中,我也遇到了同样的问题。在那种情况下,我首先做了git pull,然后是git status | git add . | git commit -m"adding some content" | and git push。它对我有用。

                      但是React project,它不起作用。我在我的 cmd npm run deploy 上再次运行它,然后我的 React Web 应用程序显示在 GitHub 页面上。

                      我的建议是尝试此帖子 cmets 上显示的所有内容。因为解决这个问题的方法不是一个。

                      【讨论】:

                      • 使用 react 你应该首先使用 npm run buildyarn build 构建项目,然后推送到 github 页面 build/ 文件夹。或者您可以通过链接yournickname.github.io/yourproject/build 路径访问它(如果您从.gitignore 中删除build/
                      • 为了在 GitHub 页面上显示反应网站,我遵循了这个方法 github.com/gitname/react-gh-pages 并且它有效。
                      【解决方案19】:

                      就我而言,问题是因为我的存储库是私有。在我公开之后,问题就消失了。

                      故事中奇怪的部分是我能够创建私有存储库并使用 GitHub 页面。我是按照官方guidehttp://take.ms/p2SS7)做的。它在大约 9 次提交时运行良好,但在第 10 次它就坏了。

                      【讨论】:

                        【解决方案20】:

                        在我看来,GitHub 页面从一次提交到迟到了。 这意味着如果您希望它刷新,请将任何修改添加到您的源、提交和推送。

                        此行为仅适用于 gh-pages 分支和 any.github.io 存储库。在“docs”文件夹中,修改直接应用。

                        【讨论】:

                          【解决方案21】:

                          我遇到了同样的问题,但在我的情况下,CNAME 包含正确的域名。

                          我认为问题与我之前所做的存储库重命名有关...在线名​​称与本地名称不同,尽管推送没有问题并且在线文件已更新 - 实时版本没有。

                          从本地机器删除仓库并再次从GitHub克隆后,问题得到解决。

                          【讨论】:

                            【解决方案22】:

                            通过您的站点 (example.github.io/index.html) 转到您的 index.html 文件,然后重新加载页面。然后您可以返回 (example.github.io),它应该已经更新了。您可以对 master.css 文件等执行相同操作。

                            如果它不起作用,请尝试重新加载 (github.com/example/example.github.io/[blob/master/]index.html),它会更新。

                            【讨论】:

                              【解决方案23】:

                              在存储库设置中,确保 GitHub 页面当前是从 gh-pages 分支构建的。

                              【讨论】:

                                【解决方案24】:

                                就我而言,有两个问题(一个是“pebcak”,另一个是更有效的问题)。

                                我在 GitHub 中设置了两个电子邮件地址,我正在检查非主要电子邮件中的构建错误消息(管理电子邮件:登录 GitHub,单击右上角的用户菜单,选择设置,然后选择“电子邮件" 从左侧菜单 - 构建错误消息将到达主电子邮件集)。

                                一旦我看到错误消息,我发现我添加了一个描述,在我的 _config.yaml 中包含一个“:”字符,因为这是用于分隔 key,value 对的字符,它阻止了该站点构建。

                                【讨论】:

                                  【解决方案25】:

                                  我有一个未关闭的<a> 标签,导致构建永远挂起。解决这个问题。

                                  GitHub 会验证您的链接是有道理的。

                                  【讨论】:

                                  • 是的...我在 href="" 和 target="" 之间缺少空格
                                  【解决方案26】:

                                  我的 GitHub 页面已在存储库的 设置 选项卡下关闭。

                                  我不记得把它关掉了,但它在那里,然后重新打开它是解决办法。

                                  【讨论】:

                                    【解决方案27】:

                                    就我而言,我忘了在_config.yaml 中定义kramdown

                                    # Build settings
                                    markdown: kramdown
                                    

                                    这是当我从没有主题的主题转换为具有kramdown 要求的主题时引起的。

                                    【讨论】:

                                      【解决方案28】:

                                      就我而言,kramdown 语法不正确。我的代码是

                                        {% highlight %}
                                        lorem lipsum
                                       {% endhighlight %}
                                      

                                      显然你必须告诉 kramdown 语言:

                                        {% highlight html %}
                                        lorem lipsum
                                       {% endhighlight %}
                                      

                                      【讨论】:

                                        【解决方案29】:

                                        对我来说,我只等了大约 5 分钟,它就更新了。

                                        如果有人从头开始(手动)创建了分支 gh-pages,问题是您需要一个文件调用 params.json 才能使其工作。

                                        我没有这个params.json 文件,但它仍然有效...

                                        【讨论】:

                                        • 您可以查看 Github 是否仍需要时间来构建您的网站,或者它是否在您的 repo 的提交列表中失败。
                                        【解决方案30】:

                                        奇怪(而且很简单)我创建了一个新分支,将该分支设为“默认”分支并从那里推送。

                                        这对我有用。

                                        【讨论】:

                                          猜你喜欢
                                          • 2020-04-14
                                          • 2015-10-08
                                          • 2013-10-04
                                          • 2016-05-09
                                          • 1970-01-01
                                          • 2016-04-13
                                          • 2019-03-26
                                          • 2015-07-01
                                          • 1970-01-01
                                          相关资源
                                          最近更新 更多