执行git push后Github托管的Jekyll站点文章未发布如何排查?
GitHub 托管 Jekyll 站点推送后不显示新内容排查方案
按优先级从高到低逐一排查即可:
- 第一步先查构建状态。打开对应仓库的Settings页面,下拉到Pages板块,查看最近的部署记录:如果记录标红说明构建失败,这是最常见的原因——Jekyll只要在构建过程中碰到任何语法错误、格式错误,就会终止构建,继续对外展示上一次成功构建的版本,不会有主动弹窗提醒。点进失败的构建日志,就能定位到具体是哪个文件、哪一行触发的错误,修正后重新推送即可。
- 核对新文章的Jekyll格式规范:
- 文章必须存放在
_posts目录下,文件名严格匹配YYYY-MM-DD-文章后缀名格式,文件名里的日期不能晚于当前实际日期。 - 文章最顶部必须有合法的YAML头信息,最基础的合法头信息参考如下,缺失头信息的文件Jekyll不会识别为待发布文章:
--- layout: post title: 你的文章实际标题 --- - 检查文章内容里有没有未闭合的Liquid标签、未转义的特殊语法符号,比如单独出现的
{{、{%这类Jekyll会解析的符号,没有做转义处理的话会直接导致构建中断。
- 文章必须存放在
- 核对部署配置:在Settings-Pages页面确认部署源选中的是你推送的
master分支,没有误切到其他分支、或者指定了错误的部署目录(比如误选了/docs目录但你文章存在根目录下)。本地执行git log拿到最新提交的哈希值,和远程仓库master分支的最新提交、Pages部署记录关联的提交哈希做比对,确认你没有推错分支、推错仓库。 - 缓存问题处理:如果部署记录显示已经构建成功,先按
Ctrl+F5(Windows)/Cmd+Shift+R(Mac)强制刷新浏览器清掉本地缓存,也可以开无痕窗口访问站点确认。如果是GitHub侧缓存未刷新,执行下面的命令推一个空提交触发全量重建即可:
推送后等1-3分钟再访问站点即可。git commit --allow-empty -m "trigger pages rebuild" git push
内容的提问来源于stack exchange,提问作者Az88
相关产品推荐
相关产品推荐

