我完成了一個需要我使用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