完全从 Github 中删除旧的提交记录(不仅仅是从历史记录中删除)

4
我想要彻底删除我在GitHub上提交的一个commit。我已经像这里描述的那样使用了git-filter-branch,现在该分支的历史记录已被替换为不同的提交,旧的提交无法通过搜索历史记录找到。
但是,我对旧提交的链接仍然有效,并且仍然将我导向我想要在Github上删除的数据。
有没有办法从GitHub中删除此提交并/或使所有访问无效?

2
正如该页面所述,“您无法对存储库的现有克隆或分支进行任何操作,但是您可以通过联系GitHub支持或GitHub高级支持,永久删除GitHub上拉取请求中对敏感数据的缓存视图和引用。”-- 您尝试过联系他们吗? - TZHX
@TZHX:基本上这就是答案,不是吗?考虑将其作为答案添加 :-)。 简而言之:很抱歉,您无法完全从Github中删除旧的提交。 - sleske
https://dev59.com/73NA5IYBdhLWcg3wrPyq#32840254 - phd
https://stackoverflow.com/search?q=%5Bgithub%5D+remove+sensitive+data - phd
1个回答

2
关键在于这段话:

重要的是要注意,在您的存储库的任何克隆或分叉中,这些提交可能仍然可以通过GitHub上缓存视图中的其SHA-1哈希直接访问,并且可以通过引用它们的所有拉取请求进行访问。您无法对存储库的现有克隆或分支做任何事情,但是您可以通过联系GitHub Support或GitHub Premium Support永久删除GitHub上的缓存视图和对敏感数据的引用以及拉取请求中的引用。

总的来说,Git的关键点在于,即使使用像filter-branch等操作,提交也并不真正被删除。相反,将创建具有相同更改但过滤掉敏感数据的新提交。对于Git中的几乎所有操作(例如变基,cherry-pick等),都是这种情况。提交不会被销毁,只会创建新的提交。因此,在这里最好的选择是联系GitHub支持,看看他们是否可以帮助您从存储库中清除该提交,因为没有引用它(例如分支)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接