Github页面没有更新

时间:2013-12-06 11:03:42

标签: github github-pages

我遇到了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 repo是最新的,并且github状态页面上没有关于构建问题的任何内容,所以我有点不知道该去哪里。如何使用我添加的新contnet更新我的页面?

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

40 个答案:

答案 0 :(得分:34)

对于其他人,还要检查帖子的日期。我刚遇到这个问题。我在UTC + 11,我非常确定服务器是UTC。因此,如果我在当地时间与我的帖子约会,服务器会认为它们在将来并且不会构建它们。使用UTC可以避免这种情况。

正如joao cenoura在下面的评论中提到的那样:

  • 你可以告诉jekyll展示" future"将future: true添加到_config.yml
  • 中的帖子
  • 和/或添加timezone: TIMEZONE以指定您的时区。

有关详细信息,请参阅https://jekyllrb.com/docs/configuration/

答案 1 :(得分:25)

这一切都没有为我解决。解决方案是将index.html文件编辑到github网站。

答案 2 :(得分:9)

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

来源:https://help.github.com/articles/troubleshooting-github-pages-build-failures/

答案 3 :(得分:8)

通过您的站点(example.github.io/index.html)转到index.html文件,然后重新加载页面。然后你可以回到(example.github.io)它应该更新。您也可以使用master.css文件等执行相同操作。如果它不起作用,请尝试重新加载(github.com/example/example.github.io/[blob/master/]index.html)将更新。

答案 4 :(得分:8)

对于未来的人发现这个:我有一个空的CNAME文件。如果您遇到类似问题,请检查。

答案 5 :(得分:6)

就我而言,以上解决方案均无效。最后我发现原因是:我的_config.yml中有“relative_permalinks”选项。最近在Jekyll 3.0中弃用了此选项。

参考: https://help.github.com/articles/removing-relative-permalinks/

答案 6 :(得分:3)

我有一个未公开的<a>标记,导致构建永久挂起。修复解决了这个问题。理解GitHub会验证您的链接。

答案 7 :(得分:3)

在我的情况下,碰巧是我提到了引用图像的相对路径,例如 - ./test.png 似乎不允许,可能是安全问题或者是什么。无论如何,如果您已经做过类似的事情,请将其删除并将其称为test.png

答案 8 :(得分:3)

对我来说,我等了约5分钟,而且已经更新了

  

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

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

答案 9 :(得分:2)

请参阅Jerkyll问题排查网站,因为有多个错误来源:https://help.github.com/articles/troubleshooting-jekyll-builds/

在我的案例中,降价文件中的德语变音符号(“ö”)导致了这个问题。

答案 10 :(得分:2)

我明白了。 我的问题很简单。这是浏览器缓存问题。

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

答案 11 :(得分:2)

我知道这可能听起来很简单,但请确保您在正确的分支和正确的文件中。在我的情况下,我做了一个gh页面,并尝试从主分支上的本地仓库提交。我也在更新我的文件名而不是index.html。这些是我的错误。我不得不切换到gh-pages分支并在index.html提交中更新,推送然后一切正常。

答案 12 :(得分:1)

对于使用create-react-app创建的应用程序,Solution对我有用:

  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(Google域)的自定义域。由package.json脚本gh-page自动创建的deploy: "gh-pages -d deploy"分支

答案 13 :(得分:1)

在我的情况下,问题出在我的存储库是私有。当我公开后,问题就消失了。 故事的怪异之处在于,我能够创建私有存储库并使用GH页面。我是按照官方guidehttp://take.ms/p2SS7)来做的。大约9次提交就可以正常工作,但是到了10号,它就坏了。

答案 14 :(得分:1)

我今天在静态页面上遇到了这个错误-原因实际上是GitHub Pages本身的服务失败。您可以在https://status.github.com/messages上查看服务消息。

答案 15 :(得分:1)

我知道这只是添加到长尾解决方案列表中,但就我而言,我忘了在kramdown中定义_config.yaml

# Build settings
markdown: kramdown

当我从一个主题转换为一个没有kramdown要求的主题时,就会发生这种情况。

答案 16 :(得分:1)

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

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

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

答案 17 :(得分:1)

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

答案 18 :(得分:1)

好吧,我走到了尽头,没有什么对我有用,所以我会和你分享我为了让我的工作所做的一切。很奇怪(并且简单地)我创建了一个新的分支,使该分支成为“默认”分支并从那里推出。这对我有用,我希望它适用于那些使其达到最低点而仍未找到答案的人,哈哈。

答案 19 :(得分:1)

对我而言,这是一个没有正确使用.gitmodules文件的问题。我能够在我的仓库的设置选项卡中进行故障排除,在GitHub页面部分下,这表示构建问题并且有助于故障排除。

答案 20 :(得分:1)

在我的情况下,经过一些解决方案的试验和错误后,解决了什么是将编码添加到_config文件中

encoding: UTF-8

更多问题排查选项here

答案 21 :(得分:0)

请确保清除您的网络历史记录,然后再次尝试。 我的问题本身就解决了。

答案 22 :(得分:0)

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

答案 23 :(得分:0)

如果您使用const { getAddresses } = require('../src/multiAddressLookup/utils/getAddresses') const { Client } = require('@elastic/elasticsearch') beforeEach(() => { process.env.ES_CLUSTER_INDEX = 'foo' process.env.ui = '*' }) describe('multiAddressLookup', () => { test('Should return the correct premises data with only the relevant "forecasted_outages"', async () => { const event = { foo: 'bar' } const esQueryResponse = { "body": "\"foo\":\"bar\"", "headers": {"Access-Control-Allow-Origin": '*'}, "statusCode": 200 } await expect(getAddresses(event)).resolves.toEqual(esQueryResponse) expect(Client().search).toHaveBeenCalled() // This fails with 0 calls registered }) }) 命令进行发布,则gh-pages本身可能是一个缓存问题。请参阅gh-pages文档的底部:

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

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

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

答案 24 :(得分:0)

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

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

答案 25 :(得分:0)

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

答案 26 :(得分:0)

  1. 确保跑步 npm run deploy

  2. 清除浏览器缓存。

答案 27 :(得分:0)

转到

设置/ GitHub页面/源代码

并将其更改为

无(禁用GitHub页面)

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

设置/ GitHub页面/源代码

再次恢复其原始值。

答案 28 :(得分:0)

在“设置”标签中检查gh页的构建状态。

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

如果您使用的是github_token,它可能没有建立gh页的权限,因此您可能会在设置标签中看到警告。这就是为什么编辑index.html可能起作用的原因。在这种情况下,请使用基于access_token或ssh的提交来自动推送和构建gh页。

答案 29 :(得分:0)

这周我遇到了这个问题,没有解决方案。 我不使用Jekyll,仅使用纯静态html。 仅仅3天就拒绝更新。

这是我要做的才能重新发布。

  • snapshot创建一个master分支。
  • master分支重置为活动的最后一个提交。 (“提交”标签,绿色的复选标记表示已发布的提交)
  • 通过烟雾测试重新提交。我做了一个可以注释的HTML注释。
  • 强制按下master
  • 检查结果curl https://example.com | grep SMOKETEST
  • 再次重置master,删除冒烟测试。
  • snapshot分支中选择每个提交,然后将未发布的更改重新回到master(樱桃选择)(樱桃选择为提交提供了新的ID /哈希,避免了将任何内容从缓存中缓存的风险。之前)。
  • 再次强制按下master
  • 现在您应该获得绿色的选中标记和已发布的更新。

注意:强制推送以删除被卡住的提交并再次将其取回就足够了。几乎肯定不需要烟雾测试。可能不需要采摘樱桃。

答案 30 :(得分:0)

这里有各种愚蠢的解决方案,我的原因是我使用了git commit -am "blah",却忘记了只有_data/navigation.yaml中的导航链接被更改了,而我创建的新page.md却没有添加到工作树中,因此当我单击导航树中的链接时向我显示404错误。检查,仔细检查!

答案 31 :(得分:0)

就我而言,我在url中留空了参数_config.yaml。在指定url: example.github.io之后,一切开始起作用。

答案 32 :(得分:0)

就我而言,我的问题是在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页面上。

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

答案 33 :(得分:0)

在我看来,github页面延迟一次提交。 这意味着如果您不希望刷新,请对源代码进行任何修改,然后提交并推送。

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

答案 34 :(得分:0)

我遇到了同样的问题,但就我而言,CNAME包含正确的域名。 我认为问题与我之前所做的存储库重命名有关...在线名​​称与本地名称不同,尽管在推送和在线文件更新方面没有问题-实时版本没有。 从本地计算机删除存储库并从GitHub克隆后,问题再次得到解决。

答案 35 :(得分:0)

就我而言,我有另一个与页面相同的permalink文件,该文件没有刷新内容。注意这一点。

答案 36 :(得分:0)

加上我的两分钱:在我的情况下有两个问题(一个是“pebcak”,然后是一个更有效的问题)。

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

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

答案 37 :(得分:0)

我的Github Pages已在回购的“设置”标签下关闭。

我不记得把它关掉了,但它确实存在了,重新开启是修复。

答案 38 :(得分:0)

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

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

显然你必须告诉kramdown语言

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

答案 39 :(得分:0)

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

这是该文件的一个示例:

    akka {
      akka.persistence{

          journal {
              plugin = "akka.persistence.journal.sql-server"
              sql-server {

                  class = "Akka.Persistence.SqlServer.Journal.SqlServerJournal, Akka.Persistence.SqlServer"

                  connection-string = "Data Source=USER-PC\\SQLEXPRESS;Initial Catalog=AkkaPersistenceDemo;Integrated Security=True;"

                  schema-name = dbo

                  auto-initialize = on
              }
          }

          snapshot-store {
              plugin = "akka.persistence.snapshot-store.sql-server"
              sql-server {

                  class = "Akka.Persistence.SqlServer.Snapshot.SqlServerSnapshotStore, Akka.Persistence.SqlServer"

                  connection-string = "Data Source=USER-PC\\SQLEXPRESS;Initial Catalog=AkkaPersistenceDemo;Integrated Security=True;"

                  schema-name = dbo

                  auto-initialize = on
              }
          }
      }          
    }