我完成了一个需要我使用api_key的android项目。 我已经添加了API密钥在我的build.gradle文件中像这样:如何在git commit历史记录中删除敏感数据(API_KEY)?
buildTypes.each {
it.buildConfigField "String", "MDB_API_KEY", "\"243248324293938243\""
}
(这是BTW一个随机数)
现在,我完成了这个项目,我需要把它上传到Github上,为代码审查。在这样做之前,我被要求删除api密钥,并且我做了
buildTypes.each {
it.buildConfigField "String", "MDB_API_KEY", *putYaOwnApiKeyBrothar*
}
并承诺。
但是,如果我将所有内容都推送到Github,他们可以访问任何较旧的提交,并检索我的api_key。
我见过类似的问题,解决方案似乎是git filter-branch,但它似乎跨整个提交历史记录删除了一个特定的文件。 我想删除只有密钥(或那一行,因为我想* putYaOwnApiKeyBrothar *代码在我所有的提交中可用。 (如果他们必须检查一个较旧的)。
这可能吗?有一个简单的方法吗? 如果不是,我该怎么办? 我是否愚蠢?
你也应该无效的API密钥,并获得一个新的。 – Thilo
可以通过'rebasing'和编辑你已经推送api键的旧提交,我想这应该是一个单一的提交,你已经把它推到正确的位置? – Deep
我没有推送任何东西给github(或任何其他服务器)。我在第一次提交中设置了api_key,并将其传播到我的所有提交(超过50次)。另外我对git不太熟悉,所以我不知道如何用'rebase'来做到这一点。唯一没有api_key的提交是最后一个提交(前两个我认为) – onVal