如何测量git仓库的大小/MB增长率?

5
我有一个几个月的git仓库。是否可以计算/绘制内部git仓库(压缩大小)的大小(以提交次数或日期为函数)与推送到远程的提交相关?由于分支可以并行开发,因此给定的提交可能不反映被推送到另一个分支的更改。因此,每天运行git pull后跟https://git-scm.com/docs/git-count-objects并将结果存储在数据库中的CI作业可能是一种方法。这假设CI作业在创建仓库的同一天激活。如果能够计算已经存在的存储库的此信息,那就太好了。我知道使用提交并没有真正意义。我想要某种方式来看它随着时间的增长而如何增加大小,就像他们在这里所做的一样:http://blogs.wandisco.com/2013/08/23/git-repository-metrics/

你试过 git count-objects -v 吗? - Richard Dally
这给出了当前存储库的大小。我想能够计算每个提交的大小,以便回溯 - 我尝试在旧的提交上运行它,结果相同。 - u123
@u123 只是好奇...你为什么需要这个?Git仓库深度历史通常不是问题。我们的Git仓库有大约70k次提交,占用了大约200MB的空间。 - Stas
您可以在此处阅读有关启发式算法的更多信息:https://github.com/git/git/blob/master/Documentation/technical/pack-heuristics.txt - CodeWizard
@codeWizard 我认为那应该是一个答案而不是一个评论。如果这个“问题”不适用,那就应该在答案中解决,而不是在短暂的评论中说。 - Vogel612
显示剩余2条评论
1个回答

0

Git不是这样工作的。

它与提交数量或内容无关。

Git使用启发式算法来“缩小”数据大小,因此您可以拥有具有共享内容的类似文件,并且内容不会重复。 以每个提交为基础衡量git大小并不相关。


1
我理解了你的评论,并相应地更新了原始帖子,以包括随时间变化的度量作为示例,请参见:http://blogs.wandisco.com/2013/08/23/git-repository-metrics/。 - u123

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