git - 我应该使用 gitignore 还是“your-api-key-here”来隐藏 Github 上的 api 密钥?
问题描述
我完成了一个包含 API 密钥的项目,我想将它上传到 Github。我要小心不要在 Github 上公开 API 密钥。
我发现的两种方法是
- 使用 .gitignore 隐藏包含敏感信息的文件
- 在上传到 Github 之前,只需将 API Key 值更改为“YOUR-API-KEY-HERE”。像这样:
ApiKey="YOUR-API-KEY-HERE"
问题
如果包含我的 API 密钥的文件在 gitignore 中“隐藏”并且我将我的项目上传到 Github,这是否会导致我的项目无法被任何下载它的人正常运行,因为该项目找不到“隐藏”的 API 密钥?如果有人在 Github 上查看我的项目,他们是否无法访问“隐藏”文件?
在哪些情况下我应该使用 Gitignore 或“YOUR-API-KEY-HERE”方法?
解决方案
通常,下载您的代码的其他人需要获取他们自己的 API 密钥才能使您的项目运行(取决于您的项目的设置方式)。然后,他们会将 API 密钥添加到他们的分叉(作为秘密)或他们机器上的本地存储库中。
您可以通过以下方式将您的 API 密钥作为“秘密”安全地存储在您的 GitHub 存储库中:
Settings
回购顶部的标签Secrets
最左列底部附近的选项New Repository Secret
Name
在字段中输入 API 密钥的变量名称
示例:SECRET_API_KEY
- 在字段中输入您的 API 密钥值
Value
。 Add Secret
现在您只需要确保您的项目引用了 SECRET_API_KEY 变量。
注意:其他人将无法访问此 Secret。只有您作为回购所有者才能访问此密钥。其他开发人员将需要获取他们自己的 API 密钥并将其作为秘密存储在他们的项目分支中。
推荐阅读
- flutter - 应该只有一项具有 [DropdownButton] 的值:
- swift - 将鼠标悬停在分隔符上时,是否可以在 NSSplitView 中暂时禁用鼠标光标更改?
- c# - 如何仅在软件更新时初始化新值?
- rust - 由于需求冲突,推断寿命失败
- python-3.x - 从特定字符串 Python 解码
- python - 机器人黑名单 Discord.py
- python - 创建可以通过“导入”重用的python对话框的正确方法是什么?
- python - 插入的记录未显示在 MS Access 数据库表中
- c# - 将 C# dateTime 字符串转换为 TypeScript 的日期
- objective-c - 如何在快速扩展中实现目标 C 类的目标 C 委托函数