如何在 git push 之前从 Android 项目中删除 API 密钥

Posted

技术标签:

【中文标题】如何在 git push 之前从 Android 项目中删除 API 密钥【英文标题】:How to remove API key from Android project before git push 【发布时间】:2021-12-22 18:48:56 【问题描述】:

我想知道如何隐藏 API 密钥并将其替换为 假设是空字符串

在推送到 Github 或任何源代码管理之前。

例如,我有类似的 API 密钥

object Constants 
    const val API_KEY= "GOOGLE_API_KEY"

如何在推送时删除实际的并添加随机或空字符串。

【问题讨论】:

见gist.github.com/loftywaif002/f2ebe2024ad73d6a579285dcba250465 这能回答你的问题吗? How can I save my secret keys and password securely in my version control system?。通常,密钥不应该被硬编码或提交到存储库。您应该像从环境变量中一样动态检索它们,使用安全保险库服务或类似方法。 假设您可能已经添加了密钥,重要的是从任何较旧的提交中删除它们。我建议使用 BFG 回购清理器来执行此操作。 【参考方案1】:

秘密经理

看看secret manager。

Git 钩子

实现此目的的一种方法是使用git hooks。 在pre-commit 上,使用(例如)sed 来查找和替换您的 API_KEY。您甚至可以在post-commit 中恢复它。

调试资源

另一种方法是将 API_KEY 添加到 debug 变体文件夹中的资源文件中。将该文件添加到您的.gitignore,以便您可以在代码中使用 API_KEY,但永远不会提交。

【讨论】:

以上是关于如何在 git push 之前从 Android 项目中删除 API 密钥的主要内容,如果未能解决你的问题,请参考以下文章

git 如何撤销已push的代码

如何禁止GitLab分支被push

Angular:运行Git push时如何强制运行单元测试?

如何删除git的账户

如何从 bitbucket-pipelines.yml 执行 git push?

IDEA中Git分支未push的变更集如何合并到另一个分支