1

假设我有一个 git 存储库,app.py并且我不小心将 API 密钥(或其他秘密)作为明文包含在我尚未推送到远程app.py的提交中(假设在 Github 上)。

要在本地撤消和修复此提交,我可以:

git reset --soft HEAD~1
# ...make changes to remove the plain-text API key from app.py
git add .
git commit -m "some message"

在本地,我仍然可以结帐到我不小心提交明文 API 密钥的 ref 并在以下位置查看秘密app.py

git reflog
# look for ref where I accidentally committed API Key
git checkout <ref from above>

如果我将删除明文 API 密钥的提交(即使用"some message上面的消息提交)推送到远程,有没有什么方法可以让远程仍然能够“看到”明文中包含 API 密钥的引用?这个秘密是否可能最终出现在 Github 上(即使只是在他们的服务器上,不一定通过网站/公共 API 可见)?

首先十分感谢!

4

2 回答 2

0

使用git gc.

但是如果你推送到远程仓库——它们会随着时间的推移而消失。

更多信息如何从分离头中删除已删除的提交?

于 2021-02-10T01:43:41.893 回答
0

@JWB,不。您的 API 密钥将是安全的。

当您重置时,提交将被删除。

于 2021-02-10T18:57:40.733 回答