有一些敏感信息在一个月前提交到存储库,我想完全删除任何痕迹。
我擅长使用git rebase
并且知道我可以使用它来更改提交,而像How to delete a 'git commit' from LOG, like it had never existed这样的答案会显示如何使用git rebase
删除提交。< / p>
然而,使用
仍然可以找到违规提交的预先重新设定的哈希值git log -p $BAD_SHA
因此,即使提交不再出现在git log
下,使用上述命令,即使已经删除了敏感信息,仍然可以看到敏感信息&#34;使用rebase。
有没有办法在重新定位后基本上彻底删除SHA,以便它不再显示使用git log -p $BAD_SHA
?
附录:我在重新定位后尝试git gc --prune=all --aggressive
,但这并没有解决问题。在本地或远程存储库上没有仍然引用我想要删除的错误哈希的分支。
答案 0 :(得分:1)
如果在任何现有分支上都无法查看提交,则垃圾回收应该处理它。
git gc --prune=all
答案 1 :(得分:0)
事实证明,在使用git gc --prune=all --aggressive
执行垃圾收集后,我还需要在本地完全删除存储库,然后重新克隆它。现在违规提交没有出现在git log -p $BAD_SHA
。