起因
在搭建我这个博客的时候遇到了报错 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 (由于违反仓库规则,推送被拒绝)
又是仓库规则,怎么哪都有你
解决方案
- 遇到问题,第一步肯定是寻求搜索引擎的帮助
- 在搜索引擎输入
GH013
发现搜出来的相关信息很少
要么是禁用推送保护
要么就是一些开着的 github 项目的 issue - 开着的 issue 肯定不用说
一般是没解决就还开着 - 我们试试禁用推送保护
右上角头像 -> Settings -> Code security and analysis -> Push protection for yourself -> Disable
- 此时我们再推送试试?
发现问题并没有得到解决
仍然报错GH013
- 尝试自己解决
- 既然两条报错信息都指向“仓库规则”
那么我们就只能去仓库设置里找出“罪魁祸首”了 - 经过一段时间的排查
我终于找出了“罪魁祸首”——
密钥扫描
就是这玩意:
那么怎么才能关掉它呢?
进入你的仓库页面,按这个方法设置就行了:Settings -> Code security & analysis -> Secret scanning -> Disable
- 现在我们再来推送试试?是不是push上去了?
To github.com:XiaozhiSans/xiaozhisans.github.io.git * [new branch] main -> main
总结
推送保护也好,密钥扫描也罢
无非是github为了你的密钥安全考虑
它们检测到你的文件中有明文密钥的时候就会拒绝push
如果是错误识别可以暂时禁用然后push
平时就不要关了,还是挺有用的