我必须联系GitHub支持。他们跑到git gc
一边来完成这个程序。
由于我的存储库还没有任何协作者,并且由于我没有使用标签,因此我消除了步骤,我认为这是无关紧要的。除了他们,我做了:
清空存储库中的sensitive.file
文件:
git filter-branch --force --index-filter \
"git rm --cached --ignore-unmatch sensitive.file" \
--prune-empty --tag-name-filter cat -- --all
强制对GitHub进行更改:
git push origin --force --all
清除本地缓存的更改:
git for-each-ref --format='delete %(refname)' refs/original | git update-ref --stdin
git reflog expire --expire=now --all
git gc --prune=now
之后,git向我报告,没有要提交的内容(git status
),并且我的本地存储库是最新的,带有远程目录(git pull
+ git push
)。但是,我仍然可以使用URL(已在其中一个选项卡中打开)访问该文件,从而可以在GitHub中获得其早期副本之一。
刷新页面没有带来任何变化。文件显然在那里。
我联系了GitHub支持并获得了五分钟的回复(!)。他们必须自己运行git垃圾收集器(git gc
),以完成此过程。最后,此后,提到的链接开始显示404。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句