在推送到远程(Github)之前,可以使用' git reset -soft '来撤销提交的秘密吗?



假设我有一个git repo与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"

在本地,我仍然可以签出到ref,在那里我不小心提交了明文API密钥,并查看app.py中的秘密:

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

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

提前感谢!

使用git gc.

但是如果你推到远程回购,它们会随着时间的推移而消失。

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

不。你的API密钥是安全的。

重置时,提交将被删除。

相关内容

  • 没有找到相关文章

最新更新