我不是很精通使用git
,而是在我的机器上使用Xcode和本地存储库。
一切似乎都很好,直到今天我试图释放硬盘上的一些空间。
我注意到在我的存储库的.git
目录中有几个大文件(6.3和1.4 GB)。
我不知道这些文件的用途是什么,谷歌搜索几乎没有透露这些文件。
因为我有Macbook Air,所以存储空间非常宝贵。
我想找到一种压缩或删除这些大文件的方法,但我不想破坏git
的版本历史记录。
答案 0 :(得分:4)
截图显示了两个小索引文件和两个巨大的包。所以我相信你已经在Git中提交了一些大文件。
要查找前10大blob,您可以使用以下命令:
git verify-pack -v .git/objects/pack/<pack>.idx | sort -k 3 -n | tail -10
它应该产生:SHA-1 blob大小...... 然后你可以使用它的SHA-1来查看这个对象:
git show <SHA-1>
或者你可以知道它的名字:
git rev-list --objects --all | grep <SHA-1>
答案 1 :(得分:3)
包文件是git使用的捆绑历史文件。
如果要清理一些空间,请执行以下操作:
git branch
列出分支,git branch -d <old branch>
删除旧分支(首先执行此操作)git gc
将清理并压缩回购git prune
将删除额外的文件(例如reflog
,跟踪所有提交,甚至删除的提交)git gc --prune=now
将在一个命令中gc
和prune
这样做之后,我有兴趣看看你节省了多少空间。如果您的repo的历史记录真的是7 GB,那么将它移动到外部HDD可能会更好。
答案 2 :(得分:3)
Pro Git书中有一个很好的部分,介绍当你不小心将大量内容投入存储库时应该怎么做:
http://git-scm.com/book/en/Git-Internals-Maintenance-and-Data-Recovery