解决 hexo d 报错 GH013


起因

在搭建我这个博客的时候遇到了报错 GH013 的问题
让我们分析一下原错误信息
remote: error: GH013: Repository rule violations found for refs/heads/main
什么意思呢
GH013:在 refs/heads/main 发现违反仓库规则的内容
相信刚看到这错误信息的博主们肯定一头雾水
什么仓库规则
别急,往下翻还有红色的错误信息咱没看呢
! [remote rejected] HEAD -> main (push declined due to repository rule violations)
这句又是什么意思呢
[远程拒收] HEAD -> main (由于违反仓库规则,推送被拒绝)
又是仓库规则,怎么哪都有你

解决方案

  1. 遇到问题,第一步肯定是寻求搜索引擎的帮助
  • 在搜索引擎输入 GH013
    发现搜出来的相关信息很少
    要么是禁用推送保护
    要么就是一些开着的 github 项目的 issue
  • 开着的 issue 肯定不用说
    一般是没解决就还开着
  • 我们试试禁用推送保护
    右上角头像 -> Settings -> Code security and analysis -> Push protection for yourself -> Disable
  • 此时我们再推送试试?
    发现问题并没有得到解决
    仍然报错 GH013
  1. 尝试自己解决
  • 既然两条报错信息都指向“仓库规则
    那么我们就只能去仓库设置里找出“罪魁祸首”了
  • 经过一段时间的排查
    我终于找出了“罪魁祸首”——
    密钥扫描
    就是这玩意:
    捕获.PNG
    那么怎么才能关掉它呢?
    进入你的仓库页面,按这个方法设置就行了:
    Settings -> Code security & analysis -> Secret scanning -> Disable
  • 现在我们再来推送试试?是不是push上去了?
    To github.com:XiaozhiSans/xiaozhisans.github.io.git
     * [new branch]      main -> main

总结

推送保护也好,密钥扫描也罢
无非是github为了你的密钥安全考虑
它们检测到你的文件中有明文密钥的时候就会拒绝push
如果是错误识别可以暂时禁用然后push
平时就不要关了,还是挺有用的