You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NextJS环境变量导致git push报错,如何解决?

GitHub Push Protection报错GH013的解决(Next.js场景)

问题描述

在Next.js 14.2.5中测试环境变量:

  • 本地创建.env.local文件,内容为HI=poop
  • 代码调用该变量后本地运行正常,控制台输出poop
  • 执行git push时触发以下错误:
remote: error: GH013: Repository rule violations found for refs/heads/master.
remote:
remote: - GITHUB PUSH PROTECTION
remote:   —————————————————————————————————————————
remote:     Resolve the following violations before pushing again
remote:
remote:     - Push cannot contain secrets

已在.gitignore中配置.env*.local,排除了本地环境变量文件的提交,因此最初困惑为何会触发秘密检测。

根因分析

GitHub的Push Protection机制会扫描提交历史中的所有内容,不仅是当前提交的文件。排查后发现,历史提交中存在硬编码到代码里的NEXT_PUBLIC开头环境变量,这些内容被识别为敏感秘密。

解决步骤

  • 回退到包含硬编码环境变量的提交之前的版本
  • 重构代码,确保所有NEXT_PUBLIC变量通过.env系列文件管理,不再硬编码到代码中
  • 创建新的提交并推送,此时仓库规则校验通过

内容的提问来源于stack exchange,提问作者da coconut

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 10:52:36