GitHub 页面没有更新

我在 GitHub 页面上遇到了一个奇怪的问题。我把一个新的提交到我的个人页面 Maltzj.github.io,但新的文章没有出现在那里。当我在本地执行服务器时,一个 post 位于 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

134499 次浏览

我有一个空的 姓名文件。如果您有类似的问题,请检查它。

我有一个问题,有一个未经核实的电子邮件。更新工作 第一次,但它失败后。需要经过验证的电子邮件来触发 GitHub 页面构建。此外,不能使用部署键,因为它不会触发生成。

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

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

这些解决方案都没有解决我的问题,解决方案是在 GitHub 网站上编辑 Html文件。

该网站然后更新在网上预期。

我知道这听起来可能很简单,但是请确保您处于正确的分支和正确的文件中。

在我的例子中,我创建了一个 GitHub 页面,并尝试从主分支上的本地存储库提交。此外,我正在更新我的文件名,而不是 Html。这些都是我的错。我不得不切换到 GitHub 页面分支,在 Html提交、推送中进行更新,然后一切正常。

在我的例子中,我碰巧提到了一个引用图像的相对路径,类似于 -./test.png

看起来这是不允许的,可能是安全问题之类的。无论如何,如果您已经做了类似的事情,删除它并将其称为 test.png

在我的例子中,以上的解决方案都不管用。最后我发现原因是: 在 my _ config.yml 中有一个“ relevant _ permalinks”选项。这个选项最近在 Jekyll 3.0中被弃用。

请参阅: Https://help.github.com/articles/removing-relative-permalinks/

对于其他人,也可以检查你的帖子的日期。我只是有个问题。我在 UTC + 11,我很确定服务器在 UTC。因此,如果我用我的本地时间来写我的文章,服务器会认为它们是将来的事情,而不会去构建它们。使用 UTC 可以避免这种情况。

正如 Joao cenoura 在以下评论中提到的:

  • 通过将 future: true添加到 your _ config.yml,可以告诉 jekyll 显示“ future”post
  • 和/或添加 timezone: TIMEZONE来指定您的时区。

有关更多信息,请参见 https://jekyllrb.com/docs/configuration/

在我的例子中,在这里对一些解决方案进行了反复试验之后,修复的方法是像这样将编码添加到 _ config 文件中

encoding: UTF-8

更多故障排除选项 给你

如果有人从头开始(手动)创建了分支 gh-page,那么问题就在于您需要一个文件调用 params.json 来使其工作。

这是该文件的一个例子:

{
"name": "nameOfProyect",
"tagline": "name of proyect",
"body": "### Welcome to GitHub Pages.\r\nThis automatic page generator is the easiest way to create beautiful pages for all of your projects. Author your page content here using GitHub Flavored Markdown, select a template crafted by a designer, and publish. After your page is generated, you can check out the new branch:\r\n\r\n```\r\n$ cd your_repo_root\/repo_name\r\n$ git fetch origin\r\n$ git checkout gh-pages\r\n```\r\n\r\nIf you're using the GitHub for Mac, simply sync your repository and you'll see the new branch.\r\n\r\n### Designer Templates\r\nWe've crafted some handsome templates for you to use. Go ahead and continue to layouts to browse through them. You can easily go back to edit your page before publishing. After publishing your page, you can revisit the page generator and switch to another theme. Your Page content will be preserved if it remained markdown format.\r\n\r\n### Rather Drive Stick?\r\nIf you prefer to not use the automatic generator, push a branch named `gh-pages` to your repository to create a page manually. In addition to supporting regular HTML content, GitHub Pages support Jekyll, a simple, blog aware static site generator written by our own Tom Preston-Werner. Jekyll makes it easy to create site-wide headers and footers without having to copy them across every page. It also offers intelligent blog support and other advanced templating features.\r\n\r\n### Authors and Contributors\r\nYou can @mention a GitHub username to generate a link to their profile. The resulting `<a>` element will link to the contributor's GitHub Profile. For example: In 2007, Chris Wanstrath (@defunkt), PJ Hyett (@pjhyett), and Tom Preston-Werner (@mojombo) founded GitHub.\r\n\r\n### Support or Contact\r\nHaving trouble with Pages? Check out the documentation at https:\/\/help.github.com\/pages or contact support@github.com and we\u2019ll help you sort it out.\r\n",
"google": "",
"note": "Don't delete this file! It's used internally to help with page regeneration."
}

请参考 Jekyll 故障排除网站,因为有多个错误来源: 为 GitHub 页面网站解决 Jekyll 构建错误的疑难解答

在我的例子中,Markdown 文件中的一个德语 变音(“ ö”)引起了这个问题。

对我来说,没有正确的. gitmodule 文件是一个问题。

我能够在 GitHub 页面部分的存储库设置选项卡中进行故障排除,该选项卡指出了构建问题,对于故障排除很有帮助。

奇怪(也很简单)的是,我创建了一个新的分支,使该分支成为“默认”分支,并从那里推出。

这招对我很管用。

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

如果有人从头开始(手动)创建了分支 gh-page,那么问题就在于您需要一个文件调用 params.json 来使其工作。

我没有这个 params.json文件,但它仍然工作..。

在我的情况下,它是不正确的 Kramdown语法。我的代码是

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

很明显,你必须告诉 Kramdown 的语言:

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

在我的例子中,我忘记在 _config.yaml中定义 kramdown

# Build settings
markdown: kramdown

这是由于当我从一个主题没有转换到一个主题与 kramdown的要求。

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

我不记得关了它,但它就在那儿,重新打开就是解决办法。

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

GitHub 验证你的链接是有道理的。

在我的案例中有两个问题(一个是“ pebcak”,然后是一个更有效的问题)。

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

一旦我看到错误消息,我发现我已经添加了一个描述,包括一个“ :”字符在我的 _config.yaml,因为这是用于分离 key,value对的字符,它阻止了网站的建立。

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

通过站点(Example.github.io/index.html)转到 Html文件,然后重新加载页面。然后你可以回到(Example.github.io) ,它应该已经更新。您可以对 Master CSS文件等执行同样的操作。

如果它不工作,尝试重新加载(Github.com/example/example.github.io/[ blob/master/] index.html) ,而不是,它将有更新。

在我的例子中,我有另一个文件,该文件的页面具有相同的 permalink,但不刷新内容。注意那个。

我有同样的问题,但在我的情况下,姓名包含正确的域名。

我认为这个问题与我以前做过的仓库重命名有关... ... 在线名称与本地名称不同,尽管在推送和更新在线文件方面没有问题——实时版本没有。

在从本地机器上删除存储库并从 GitHub 上再次克隆它之后,问题得到了解决。

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

在我的例子中,问题是因为我的存储库是 二等兵。在我把它变成 公众人士之后,问题就解决了。

奇怪的是,我能够创建私有存储库并使用 GitHub 页面。我是按照官方的 向导(http://take.ms/p2SS7)来做的。它在大约9次提交中运行良好,但在10次提交时出现了故障。

在我的情况下,我的问题是在 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 页面上。

我的 建议是尝试一切显示在这篇文章的评论。因为这个问题的解决方案不是一个。

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

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

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

检查,再检查一次!

这个星期我遇到了这个问题,没有解决的办法。 我不使用 Jekyll,只使用纯静态 HTML。 三天来一直拒绝更新。

我必须这么做才能让它再次出版。

  • master创建一个 snapshot分支。
  • master分支重置为活动的最后一次提交(提交选项卡,绿色复选标记表示已发布的提交)
  • 用烟雾测试做一个新的提交。我做了一个 HTML 注释,我可以抓取。
  • 用力推 master
  • 检查结果 curl https://example.com | grep SMOKETEST
  • 再次重置 master,删除烟雾测试。
  • snapshot分支中挑选每个提交,你需要将未发布的更改返回到 master中(挑选提交会得到新的 id/hash,避免了以前缓存它们的风险)。
  • 再次用力推 master
  • 现在您应该获得绿色的选中标记和已发布的更新。

注意: 这可能足以强制按下删除卡住的提交,并得到他们回来。几乎可以肯定不需要烟雾测试。可能不需要摘樱桃。

在设置选项卡中检查 gh- 页的构建状态。

Your site is having problems building: Unable to build page.

如果使用 github _ token,它可能没有构建 gh 页面的权限,因此您可能会在设置选项卡中看到警告。这就是为什么编辑 index.html 可能有用。在这种情况下,使用 access _ token 或基于 ssh 的提交来自动推送和构建 gh- 页面。

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

但是,如果我在本地编辑文件并使用 GitHub 桌面提交,那么更改将在几秒钟内发布到站点。

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

去吧

设置/GitHub 页面/源

然后改成

无(禁用 GitHub 页面)

让系统保存您的更改

设置/GitHub 页面/源

再次恢复到原来的价值。

  1. 一定要跑起来 npm run deploy

  2. 清除浏览器缓存。

解决方案为我工作的应用程序创建使用 create-react-app:

  1. 转到存储库设置下的 GitHub 页面部分
  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 (谷歌域名)。由 package.json 脚本 deploy: "gh-pages -d deploy"自动创建的 gh-page分支

我成功了。 我的问题很简单,是浏览器缓存问题。

我打开我的 在不同的浏览器上链接,它显示我的更新推。

如果您使用 gh-pages命令来发布,那么它可能是 gh-pages本身的一个缓存问题。参见 gh-pages文档的底部:

但是,请注意,这些指令是错误的!

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

我已经提交了一个问题,以更正这里的指示: https://github.com/tschaub/gh-pages/issues/367

确保清除你的网页历史记录,然后再试一次。 我的问题就这么解决了。

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

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

我对一个非常基础的项目也有同样的问题。硬重载[ ctrl + shift + r ]为我解决了这个问题。

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

我尝试了几乎所有的答案,尝试编辑 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运行良好,请遵循以下步骤:

步骤1: 运行命令 npm run build

如果一切都很好,那么,你会得到消息: the build folder is ready to deploy

enter image description here

步骤2: 运行命令 npm run deploy

你会得到这样的消息: published

enter image description here

第三步: 刷新你的应用程序: 像 https://kushalseth.github.io一样。不是强制性的,但是要提交并推送所有的修改以供参考。

PS: 如果你像404一样面对这个问题,那么检查一下这个答案: React Github Pages Deploy ERR _ ABORTED 404(Not Found)反应 Github 页面部署 ERR _ ABORTED 404(未找到)

我也有同样的问题。在我的情况下,我已经用一个新的替换了我的阿凡达。之前的扩展名是“ jpeg”,新的扩展名是“ jpg”,所以我重命名了 file,使其具有与之前的扩展名相同的扩展名。我等了一天,但是没有任何改变。我注意到构建失败了。我重命名文件,使其具有正确的扩展名,并更改了对应的 html 文件。2分钟内完成。

对于我的个人网站,我使用 学术网站的 Github 页面模板。

在我的 ._config.yaml文件,我已经包括了一个额外的在线链接到一个网站,我有一个学术档案。这完全没有必要。这个链接屏蔽了我网站上所有的更新。因为我在 ._config.yaml文件中删除了这个链接,所以我的所有其他 Github 页面都被更新了。

我很认真地把43个问题的答案都看了一遍。两次。令人惊讶的是,没有一个答案告诉我该怎么做,这是我在回购的 github 仪表板上随机点击不同的东西时偶然发现的。不要点击设置。点击操作。在那里,您将看到当 jekyll 尝试构建网页时,工作流实际上发生了什么。您可以单击工作流,它将显示一个红色的‘ x’标记,因为它失败了,并查看输出到 stdout 的完整文本。包括提供信息的错误消息,比如在我的例子中: /usr/local/bundle/gems/jekyll-3.9.2/lib/jekyll/theme.rb:84:in `rescue in gemspec': The slate theme could not be found. (Jekyll::Errors::MissingDependencyException)

一句话:

如果在 index.html上没有更改,Github 页面就不会刷新。

所以 确保在每次推送时更新 index.html

如果您正在部署一些简单的 HTML 代码,请尝试这样做:

首先,转到 Actions > Deploy static content to Page:

enter image description here

然后,点击 Run workflow:

enter image description here

由于 GitHub 页面部署操作中的短暂故障,我的站点今天未能部署。需要通过 Actions 选项卡重新运行该操作,才能显示新版本的站点。

故事是这样的:

我推出了新的内容,在一个纯静态的网站,并没有使用 Jekyll。在 Chrome 上重新加载了许多没有结果的 Shift-Ctrl-R 之后,我决定调查一下。我首先访问了站点存储库的设置→页面,发现最近没有进行任何部署。

GitHub saying the last deploy was 2 months ago

为什么不呢?在反复检查我的推送是否真的通过之后,我点击了“部署”这个单词,然后被带到一个 GitHub Action,它失败了!

GitHub error ECONNRESET

由于错误消息 ECONNRESET看起来像是 GitHub 网络内部的一般网络错误,而我的站点没有任何问题,所以我点击了右上角的“重新运行”按钮,并要求 GitHub Actions 重新运行失败的任务。在几秒钟之内,它已经被重新尝试并且成功了!

教训:

  1. 部署容易受到暂时性错误的影响。
  2. 现在,部署是作为您可以检查的正常 GitHub 操作进行的。
  3. 可以重试部署。

在我的例子中,我有一个不正确的标记闭包,即 <tag>,而它应该是 </tag>

奇怪的是,我的构建没有任何错误,我的 HTML 页面的所有内容都是正确的,直到它发现了不正确的标记。所以我想你可以手动检查你所有的标签来解决这个问题。