GoLand自动识别http-client.env.json和http-client.private.env.json两个固定名称的文件,仅限项目根目录或其子目录,不支持自定义名或嵌套路径;文件名含private不代表Git自动忽略,必须手动加入.gitignore并清理已暂存记录。

GoLand 中哪些环境变量文件会被自动识别
GoLand 会自动读取两类 HTTP 客户端环境文件:http-client.env.json(公开)和 http-client.private.env.json(私有)。它只在当前项目根目录或子目录中查找这两个固定名称的文件,不支持自定义名或嵌套路径匹配。
为什么 http-client.private.env.json 仍可能被误提交
文件名带 private 并不等于 Git 自动忽略——它只是 GoLand 的语义标记。常见误提交场景包括:
- 首次创建时没手动加进
.gitignore - 团队成员本地没同步最新
.gitignore规则 - 用
git add .时未检查暂存区,直接提交了新生成的私有文件 - IDE 自动生成该文件(比如从 HTTP 草稿导出环境),但用户没注意路径位置
必须执行的三步防护操作
仅靠命名或 IDE 提示无法阻止泄露,需人工闭环:
GoLand 2026.1.1 是 2026.1 发布后的首个维护修正版本,适合已经开始体验 2026.1 新功能并希望同步补丁的开发者。它更适合用于入门项目、现有项目迁移测试和 IDE 行为验证。
- 立即在项目根目录的
.gitignore中追加一行:http-client.private.env.json - 若该文件已进入暂存区,运行
git rm --cached http-client.private.env.json,再 commit - 检查所有分支(尤其是 feature 分支)是否曾提交过该文件:
git log --all --full-history --oneline --grep="private.env" -- http-client.private.env.json
更稳妥的替代方案:用系统级环境变量兜底
GoLand 支持在 .http 文件中引用 {{env.YOUR_VAR}},此时变量值来自操作系统环境(如 export API_KEY=xxx)。这种方式完全绕过文件落地,适合 CI/CD 或多开发者协作场景。但要注意:
- 本地开发需提前
source环境变量脚本,否则请求会因变量为空失败 - GoLand 不校验系统变量是否存在,错误只在运行时暴露
- 不能用于需要团队共享基础配置(如
baseUrl)的场景,只能承载真正敏感字段
Git 不会管你叫它 private 还是 secret,只认 .gitignore 里有没有那行字。漏掉一次,就可能让 token 出现在 commit 历史里,且无法靠撤回修复。

















