GitHub 页面未更新
Posted
技术标签:
【中文标题】GitHub 页面未更新【英文标题】:GitHub pages are not updating 【发布时间】: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 硬重新加载页面对我有帮助,因为它是浏览器最初使用的缓存数据。 【参考方案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
创建的应用程序:
-
转到存储库设置下的 GitHub Pages 部分
将源从
gh-pages branch
更改为 master branch
等待并检查您的自定义域网站,应该显示主分支README.md
文件
现在将源改回gh-pages
稍等几分钟,自定义域网站上会显示最新更改
我尝试了不同的解决方案,但都没有奏效。比如a new commit
、an empty commit
、browser cache clear
、wait for 5 - 10 minutes
、delete gh-pages branch and push again
、edit CNAME
、create a new CNAME under on master branch
等
注意:我的应用没有_config.yaml
文件,也没有jekyll
。我正在使用带有 https(谷歌域)的自定义域。 gh-page
package.json 脚本自动创建的分支deploy: "gh-pages -d deploy"
【讨论】:
【参考方案11】:确保您的跑步
npm run deploy
清除浏览器缓存。
【讨论】:
【参考方案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 build
或 yarn build
构建项目,然后推送到 github 页面 build/
文件夹。或者您可以通过链接yournickname.github.io/yourproject/build
路径访问它(如果您从.gitignore
中删除build/
)
为了在 GitHub 页面上显示反应网站,我遵循了这个方法 github.com/gitname/react-gh-pages 并且它有效。【参考方案19】:
就我而言,问题是因为我的存储库是私有。在我公开之后,问题就消失了。
故事中奇怪的部分是我能够创建私有存储库并使用 GitHub 页面。我是按照官方guide(http://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】:奇怪(而且很简单)我创建了一个新分支,将该分支设为“默认”分支并从那里推送。
这对我有用。
【讨论】:
以上是关于GitHub 页面未更新的主要内容,如果未能解决你的问题,请参考以下文章
带有 Jekyll 的 Github 页面未在 .md 帖子中显示图像