【问题标题】:Why does my GitHub page do not update its content?为什么我的 GitHub 页面不更新其内容?
【发布时间】:2014-09-02 23:41:19
【问题描述】:

我一直在关注official guide @ pages.github.com

到目前为止,我已经创建了本地存储库并将其推送到 GitHub,但是,无论我做什么更改,我都可以在 GitHub 的存储库中看到它,但在我的 GitHub 页面中没有。这怎么可能?

【问题讨论】:

  • 您是否将更改推送到gh-pages 分支?只有那个分支会被渲染到 GitHub 页面……(这可能需要 10 分钟)
  • 嗯...我按照说明操作...我认为是主要分支...我必须创建一个 gh-pages 吗?
  • 我认为你不必使用gh-pages。根据official documentgh-pages仅用于项目站点,博客等用户站点应使用master
  • 另外,请尝试在隐身窗口中打开网站(或清除缓存) - 在我的情况下,即使网站已更新,它仍在提供缓存版本。
  • 正如 Knut 已经指出的那样 - 渲染更新可能需要一些时间......

标签: github github-pages


【解决方案1】:

有时我也会遇到这种情况:创建并推送 gh-pages 后,GitHub Pages 页面丢失或未更新。即使我对分支提交更多更改并再次推送,它也不会在 GitHub 页面上更新。

如果我没记错的话,我通过从服务器中删除分支并再次推送来解决这个问题:

git push origin :gh-pages
git push origin gh-pages

我可能需要添加一些虚拟提交并再次推送以触发更新,我不记得确切...

【讨论】:

  • 谢谢你——这是我能找出问题所在的唯一方法。当我重新创建分支时,github 然后通知我问题是无法更新子模块,因此我将其作为子模块删除并提交了它包含的文件。但在重新创建 gh-pages 分支之前它从未给我任何错误,它只是不会更新。
  • 我第一次推送到 gh-pages 成功后遇到了这个问题。按照你的指示为我修好了。
  • 如果我尝试第一个命令,我会得到类似error: unable to delete 'gh-pages': remote ref does not exist error: failed to push some refs to的错误
  • 对于那些遇到错误的人"error: unable to delete 'gh-pages': remote ref does not exist error: failed to push some refs to" 可能需要先去 github 中的设置并将这个默认分支(左侧分支选项卡)更改为另一个分支。或者在 github 中创建 Master 分支并设置为默认。
【解决方案2】:

我尝试了Janos' 的回答,但它对我不起作用。

我对我的index.html 文件做了一些小改动(一些无关紧要的东西),然后再次推送到 gh-pages 分支。我尝试在不同的浏览器中打开该页面并且它有效。我原来的浏览器也更新了页面,虽然我不认为这是浏览器缓存问题。

我在本地使用 gh-pages 重新设置 master 并推送它,不确定这是否有任何区别。

【讨论】:

    【解决方案3】:

    这对我有用:

    第一步(更新你的主人):

    git add . 
    
    git status                # to see the changes to be committed
    
    git commit -m "comments"
    
    git push origin master
    

    第二步(更新 gh-pages):

    git-checkout gh-pages     # going to the gh-pages branch
    
    git rebase master         # sync gh-pages with master 
    
    git push origin gh-pages  # commit changes to gh-pages
    
    git checkout master       # return to the master 
    

    【讨论】:

    • 只是一个警告:这可能适用于您的项目结构,但在某些配置中,这真的会让您搞砸。不是每个人的gh-pages 分支都像这样与他们的master 分支相关;事实上,如果你不使用 Jekyll,Github 建议创建 gh-pages 作为孤儿分支。
    • 当我尝试结帐到 gh-pages 时,我得到了这个:error: pathspec 'gh-pages' did not match any file(s) known to git.
    【解决方案4】:

    我有同样的问题。

    问题是我的网站是从 gh-pages 分支发布的,但我正在将我最近的更改推送到主分支。

    检查 Github 从哪个分支发布您的网站。在您的存储库中,单击设置,向下滚动页面,应该有一个框,您可以在其中更改发布分支。

    它应该看起来像这样:

    更多信息是here

    此外,如果您使用的是自定义域名,请确保您的 CNAME 文件是最新的。

    希望有帮助!

    【讨论】:

      【解决方案5】:

      当文件名包含单词“vendor”时遇到此问题 ex.:vendor.bundle.20d44fcf5147c6ed68a3.js

      在存储库的根目录中添加一个名为 .nojekyll 的空文件修复了该问题。

      Jekyll 现在默认忽略 vendornode_modules 目录 https://github.com/blog/2277-what-s-new-in-github-pages-with-jekyll-3-3

      【讨论】:

        【解决方案6】:

        我解决了这个问题。

        您可以尝试进入设置页面。

        我进入项目设置页面(.../settings/pages),发现Github页面给我一些消息“一些语法错误”,我修复了它,没问题。

        【讨论】:

          【解决方案7】:

          解决这个问题

          1. 将您当前的 Github Pages 分支切换到其他分支,然后单击 在Save
          2. 切换回您想要的 Github Pages 分支并点击 Save

          这将强制 Github 更新您的更改。

          【讨论】:

          • 在尝试了上述许多解决方案之后,这个对我来说效果很好。在您的存储库中转到 Settings > Pages > Source,然后选择并保存所需的分支。我将我的命名为“可切换”以备将来使用。要在 GitHub 上创建新分支,请转到 repo 的代码选项卡,然后打开“切换分支或标签”按钮,然后输入新分支的名称,然后单击“创建...”出现的文本。跨度>
          【解决方案8】:

          聚会有点晚了,但我刚刚遇到了这个问题,我的解决方案不在上述任何内容范围内。

          特别是我的问题如下:

          • 我创建了一个带有自定义域的 github.pages 站点。
          • 我将提交推送到正确 GitHub 分支,但在 github.pages 站点上没有看到更新。

          解决方案: 问题原来是我的浏览器缓存页面(尽管我禁用了页面缓存)。为了解决这个问题,我刚刚清除了过去一小时的缓存数据,并且立即生效。

          要清除 Chrome 中的缓存数据,请转到 Chrome 菜单,然后点击 More Tools > Clear Browsing Data

          我不知道是什么导致了缓存,这个 github.pages/custom 域组合是唯一对我造成​​它的东西。

          【讨论】:

          • 具有讽刺意味的是,在开发工具的网络选项卡中使用 disable cache 不起作用,但右键单击重新加载按钮并选择 empty cache and reload 有效
          【解决方案9】:

          尝试禁用 GitHub 页面,并在几分钟后启用它。我试过了。这行得通。但是更新和重新启用 GitHub Pages 需要一些时间。

          【讨论】:

            【解决方案10】:

            我遇到了同样的问题,我的存储库中的所有内容都是最新的,但它仍然没有加载到我的 github 页面,所以没有做任何进一步的更改,我尝试添加、提交和拉取。

            我用另一个 git commit 修复了它,然后再次 git pull。 现在更改已加载到我的 git。

            【讨论】:

              【解决方案11】:

              只需清除浏览器的缓存。 Chrome 的 ctrl + shift + r 为例

              【讨论】:

              • 发帖前请先阅读其他答案,您可能会注意到这与页面刷新无关,您给出的答案是错误的。还可以查看游览:stackoverflow.com/tour 以及如何写出好的答案:stackoverflow.com/help/how-to-answer
              【解决方案12】:

              对脚本进行更改后,转到提交更改部分。在那里你会找到一个输入框和一个文本区域。众所周知,填写这些框不是强制性的,但它们的存在是有原因的。因此,下次单击提交更改按钮之前,请尝试一下>>确保您在第一个输入框中写了一些内容(您可以将文本区域留空),并且您所写的内容与您所写的内容不同您对同一文件的最后一次提交。这样 github 就可以区分当前脚本和更新脚本,并且几乎可以立即反映更改。

              希望对您有所帮助。

              【讨论】:

                【解决方案13】:

                尝试像这样推送空提交

                $ git commit --allow-empty -m "Empty commit"
                

                每次对我来说都像魅力一样。

                【讨论】:

                  【解决方案14】:

                  最简单的方法:

                  设置 -> 分支 -> 选择“gh-pages” -> 更新。

                  Take mine as example

                  【讨论】:

                  • 就我而言,我没有看到您图片中的 github-pages 下拉菜单。我的只是说除非你指定一个不同的分支。默认分支设置为 master。要更改此设置,请添加另一个分支。
                  【解决方案15】:

                  就我而言,它有助于运行:

                  npm 运行部署

                  我是在将 master 分支推送到 GitHub 后完成的。我需要稍等片刻,直到我的页面上看到更改。但它确实在不更改任何设置的情况下工作。

                  【讨论】:

                  • 它对我有用,但也需要更改设置
                  【解决方案16】:

                  我是新手,请允许我含泪回答。请转到您的存储库中的设置,向下滚动到 以检查您当前的网页是否存在问题如果出现问题,您的网站将不会被更新。我认为这是一种保护机制之类的。

                  今天早上我删除并移动了存储库中的一些文件,我已经更新了很多次,它仍然是以前的版本,即使我检查了 index.html 确实更新了。后来我把整个repository都关掉了,开始新的,一个一个的插入item,还是遇到了问题。我尝试了新的分支,例如 gh-pages,我认为对于像我这样的初学者来说,没有必要。后来我检查了我的设置并找到了通知,我删除了有问题的文件,它立即生效。如果我知道这个问题,我就不会那么愚蠢地永远关闭它。我想念我的旧 git 记录。相信每一节课都是有代价的,Github 也不例外。

                  【讨论】:

                    【解决方案17】:

                    我最近遇到了一个问题,即我的 github 页面托管站点没有从 master 中的旧分支推送更新。我可以通过转到domain.com.(最后的点很重要)看到新的变化,并且硬刷新也会显示新的变化,但是定期刷新会显示旧站点和旧 JS文件。

                    我的问题似乎只出在我开发网站的 Chrome 中。为了全面披露,旧的更改在 React 中并托管在 Netlify 中。我试图推送和显示的新更改是托管在 github 页面中的静态文件。

                    修复(在 Chrome 中): devtools > Application > clear site data(按钮)。

                    【讨论】:

                      【解决方案18】:

                      如果这对其他人有帮助...

                      对我来说,问题是分支中的内容正在更新,但文件名没有改变,因此浏览器正在检索缓存的内容。

                      我正在使用带有 angular-cli-ghpages 的 Angular CLI。将配置设置为生产会在构建中的每个文件之后附加哈希值,从而强制浏览器检索新内容。

                      示例部署脚本:

                      ng build --configuration=production --base-href \"<repo-name>\" && ngh
                      

                      如果您不想要生产构建,您还可以在angular.json 中的其他构建配置中指定输出哈希

                      【讨论】:

                        【解决方案19】:

                        如果您使用gh-pages 命令,您可能需要删除node_modules/gh-pages/.cache 处的gh-pages 缓存

                        【讨论】:

                          【解决方案20】:

                          问题是由于浏览器缓存页面引起的。以隐身模式打开 git link

                          【讨论】:

                            【解决方案21】:

                            问题是由于浏览器缓存页面引起的。 使用元 HTML 标记禁用浏览器缓存。在_layouts/default.html中添加以下内容

                            <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
                            <meta http-equiv="Pragma" content="no-cache" />
                            <meta http-equiv="Expires" content="0" />
                            

                            警告:在此之后,任何支持 Cache-Control 的浏览器都不会存储您的任何 cookie 或文件。

                            【讨论】:

                              【解决方案22】:

                              此答案适用于那些使用 create-react-app.

                              创建应用的人。

                              我花了好几天才终于找到 react-gh-pages 没有更新的答案。我希望以下答案对我有所帮助。这是我研究过的多个答案的组合:

                              主要原因和最常见的原因是您的浏览器缓存功能。为了在每次渲染 index.html 时禁用它,

                              1. 将此 sn-p 添加到您的 index.html 文件中的 public 文件夹下。

                              <meta http-equiv='cache-control' content='no-cache'> 
                              <meta http-equiv='expires' content='0'> 
                              <meta http-equiv='pragma' content='no-cache'>
                              1. 将任何新更改推送到主分支或主分支(而不是原始 gh 页面)。
                              2. 现在您的主分支已更新。
                              3. 现在运行:git push origin :gh-pages。这将删除 gh-pages 分支。
                              4. 运行:npm run deploy。这将构建您的应用程序并重新创建 gh-pages 分支 更新内容。
                              5. 现在转到应用程序仓库页面右上角的设置部分。向下滚动到底部。在 Github Pages 部分下,在 source 下,有分支部分。将其更改为您的主分支或主分支。保持根文件夹不变。
                              6. 转到您的站点,您将看到一个自述文件。这可能需要一些时间。大约一分钟后,将分支更改回 gh-pages。一分钟后访问您的网站,现在应该已更新。

                              我希望这会有所帮助!在评论部分告诉我它是否也对你有用,干杯!

                              【讨论】:

                                【解决方案23】:

                                您所要做的就是运行以下命令:

                                npm run deploy

                                它会自动更新 gh-pages

                                【讨论】:

                                  【解决方案24】:

                                  如果您的 GitHub pages repo 是私有的并且您最近降级到 GitHub Free,这可能适用:

                                  您的订阅 GitHub Free 不支持 GitHub Pages 站点 用于私有存储库。在我们介绍了免费私人之后 1 月份的存储库,我们发现连接的站点数量有限 到私有存储库被错误地保持活动状态。如果你想 不断更新此站点,您可以将其存储库公开或升级 到 GitHub 专业版。您也可以在下面取消发布它。本网站正在使用 自定义 CNAME:在取消发布此站点之前保护您的域名。

                                  【讨论】:

                                    【解决方案25】:

                                    在本地提交后,我在部署的 GitHub 存储库中反映了我的更改,方法是将我的 gh-pages 分支重命名为 master 并取消发布我的 GitHub 页面,然后将分支重命名为 gh-pages,然后再次发布;然后就可以了。

                                    【讨论】:

                                      【解决方案26】:

                                      ctrl+F5重新下载缓存内容。

                                      【讨论】:

                                      • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
                                      猜你喜欢
                                      • 1970-01-01
                                      • 2018-07-07
                                      • 1970-01-01
                                      • 2013-10-04
                                      • 2016-04-07
                                      • 2020-07-28
                                      • 1970-01-01
                                      • 1970-01-01
                                      • 1970-01-01
                                      相关资源
                                      最近更新 更多