findgit回购的大小

什么是一个简单的方法来find我的git仓库的大小? 我不是说在我的回购的根目录上。 我有很多被忽略的文件,这样的大小会有所不同,从我的总回购大小。 我基本上想知道在克隆我的回购时将有多less数据被转移。

更新 git 1.8.3引入了一个更有效的方式来获得粗略的大小: git count-objects -vH (请参阅@VonC的答案)

对于“完整大小”的不同想法,您可以使用:

 git bundle create tmp.bundle --all du -sh tmp.bundle 

closures(但不是确切:)

 git gc du -sh .git/ 

有了后者,你也可以算:

  • 挂钩
  • configuration(远程,推分支,设置(空白,合并,别名,用户的详细信息等)
  • (请参阅我也可以从远程仓库获取存储到本地分支 )
  • rererecaching(可以得到相当可观的)
  • reflogs
  • 备份(从过滤分支,例如)和其他各种东西(中间状态从rebase,对分等)

请注意,自git 1.8.3(2013年4月22日) :

git count-objects ”学会了“ --human-readable ”又名“ -H ”选项,以便根据需要显示Ki / Mi / GiB各种大数字。

这可以结合杰克·莫里森在他的回答中提到的-v选项。

 git gc git count-objects -vH 

git gc很重要,正如ABB的回答所提到的那样)

加(仍然git 1.8.3),输出更完整:

git count-objects -v ”学会了在对象存储中报告剩余的临时包文件和其他垃圾

git命令

 git count-objects -v 

会给你一个很好的估计git仓库的大小。 没有-v标志,它只会告诉你解压缩文件的大小。 这个命令可能不在你的$ PATH中,你可能不得不跟踪它(例如,在Ubuntu上我发现它在/ usr / lib / git-core /中)。

从Git手册页:

-v,–verbose

除了消耗的松散对象和磁盘空间的数量之外,它还报告包装对象的数量,包的数量,这些包所消耗的磁盘空间,以及运行git prune-packed可以删除的对象的数量。

您的输出将看起来类似于以下内容:

 count: 1910 size: 19764 in-pack: 41814 packs: 3 size-pack: 1066963 prune-packable: 1 garbage: 0 

您正在寻找的行是size-pack 。 这是所有压缩提交对象的大小,或者是新克隆存储库的最小可能大小。

如果你使用git LFS,那么git count-objects不会计算你的二进制文件,而只是指向它们的指针。

如果您的LFS文件由Artifactoryspipe理,则应使用REST API:

  • 从任何search引擎获取www.jfrog.com API
  • 查看获取存储摘要信息