找到我的git存储库大小的简单方法是什么?而且我不是指du -h
我的仓库的根目录.我有很多被忽略的文件,因此大小与我的总回购大小不同.我基本上想知道在克隆我的回购时会传输多少数据.
众所周知,我们可以定期运行git gc
以打包对象.git/objects
.
对于远程中央Git存储库(裸或不),经过多次推送后,下面有很多文件myproj.git/objects
; 每次提交似乎都在那里创建一个新文件.
我该如何打包那么多文件?(我的意思是远程中央裸存储库上的那些,而不是本地克隆存储库.)
I'm using Git to version a series of binary files. They compress pretty well, but my central repos do not seem to be compressing when I push to them. They're eating up a decent amount of my quota, so I was looking to see if there was a way to force the remote repo to do a GC.
Is this possible? I'm working on Project Locker so I don't believe I have SSH access to go in and GC the …
我有一个公开的回购.
问题是我已经使用了很长时间,这意味着裸机库中有很多垃圾.有大量死枝,删除标签等...
是否有一些命令来清理裸仓库?有些像git remote prune
这样适用于相反的情况吗?
编辑:因为似乎有些混乱.这是我的设置:
DevelMachine1
^
|
v
MainDevelRepo <-> MainRepo -> PublicBareRepo (with a lot of junk) -> The World
^
|
v
DevelMachine2
Run Code Online (Sandbox Code Playgroud) 我有一个2GB的Git裸仓库,有30000次提交.不幸的是,我多年来已经提前添加了一些大文件,我现在已经使用了这些文件git filter-branch
- 请参阅此链接.识别罪犯 - 参见例如此链接
我也清除了许多旧的"测试尝试"分支使用git branch -D BRANCH-NAME
.现在好玩的开始了:-)
在我的裸仓库中似乎git gc --aggressive --prune=yes
不会减少裸仓库的目录大小,但如果我克隆裸仓库并运行,git gc --agressive --prune=yes
那么我的目录大小将下降到50 MB(这真的很棒).
我也尝试过这个好主意,但它没有显示SHAs或任何其他导致切割刀的位置.
我可以真正使用你的输入安全地以系统的方式摆脱我的裸仓库存储.