我如何减少我的Github仓库的实际大小?(而不仅仅是本地检出)

4

我按照以下说明从我的仓库中删除了一些大文件:

http://help.github.com/remove-sensitive-data

然而,如果我从我的主要仓库进行全新克隆,我仍会拉取已删除的数据。我怀疑是因为这个原因: “请注意,强制推送不会在远程仓库上擦除提交记录,它只是引入新记录并将分支指针指向它们。如果你担心用户通过SHA1直接访问错误的提交记录,你需要删除仓库并重新创建。” 我尝试将提交记录推送到一个新的仓库,虽然它没有额外的数据,但也缺少了所有我的Github问题。 两个相关的问题: - 有没有办法将清理后的仓库推送到主仓库? - 如果不能,是否有一种方法将问题从主仓库转移到新仓库?

嗨 Andy。我看到了那个帖子,但它并没有最终回答第一个问题(是否有一种方式可以强制 GitHub 进行垃圾回收),也没有涉及第二个问题(某种方法来转移 GitHub 问题)。我已经向 GitHub 发送了支持请求以询问前者。 - nickbaum
根据该线程中的一条评论,每次仓库操作后都会发生垃圾回收。 - Andy
啊哈,没注意到。那么似乎垃圾回收并不是答案,因为它似乎并没有导致更小的存储库。 - nickbaum
请确保删除任何可能指向存储库中某个位置的远程引用。 - Andy
那个远程引用指向哪里? - Andy
显示剩余2条评论
2个回答

2

好的,在与GitHub优秀的支持团队(谢谢Tekkub!)反复沟通后,我们找到了问题所在。

答案是该仓库有标签,这些标签指向旧数据。解决方法是强制推送标签,确保旧标签被删除(因此旧数据被垃圾回收)。


0
如果您在克隆时仍然获取了您删除的内容,则说明它仍然被某处引用。请在新克隆的代码库上运行git branch -va命令,您可能有一个旧分支指向您想要删除的提交。

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