Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从git repo中删除大型对象文件_Git - Fatal编程技术网

从git repo中删除大型对象文件

从git repo中删除大型对象文件,git,Git,我意识到我的.git文件夹今天占用了1.3GB的空间,于是仔细查看了其中的内容,看看问题出在哪里。我发现一个.pack文件占据了几乎所有的空间,并在网上搜索,最终运行了 git-gc——攻击性 这修复了.pack文件,这些文件现在在字节或kb范围内小得多。但是,我现在有一个1.3GB的对象文件 我可以搜索对象的内容,我知道其中包含什么,但在我的回购历史记录中找不到该文件。我实际上不记得提交了它,但我认为当我把它放在我的项目目录中时,php storm可能已经将它添加到了repo中 如何在不损坏r

我意识到我的.git文件夹今天占用了1.3GB的空间,于是仔细查看了其中的内容,看看问题出在哪里。我发现一个.pack文件占据了几乎所有的空间,并在网上搜索,最终运行了
git-gc——攻击性

这修复了.pack文件,这些文件现在在字节或kb范围内小得多。但是,我现在有一个1.3GB的对象文件

我可以搜索对象的内容,我知道其中包含什么,但在我的回购历史记录中找不到该文件。我实际上不记得提交了它,但我认为当我把它放在我的项目目录中时,php storm可能已经将它添加到了repo中

如何在不损坏repo的情况下删除此大型对象文件

Edit:我签出了重复的答案,并在这个链接中运行了shell和perl脚本:试图找到提交,但都没有返回任何内容,也没有返回任何错误


这是否意味着此对象真的没有引用提交?

我将尝试答案中的第二个链接,并运行该脚本以查看它是否对我有效。两个脚本都没有找到对象引用返回的提交内容尝试删除所有无法访问的对象:
git prune--expire=now
(但要小心,以防您要从存储库中恢复无法访问的对象)。另请参阅:@knittl
git prune--expire=now
工作正常,但它只是删除了所有/bd/73b2d3c69a2dc3587c587c589ebbfa7ac4d0be6dd3(等等)从objects文件夹中删除文件。所以我不确定它到底做了什么。不过问题已经解决了。我可以自己从Finder中删除这个文件吗?如果你想得到答案,我会标记它。