我正在尝试跟踪我正在处理的项目的大小。有没有一种简单的方法可以在磁盘上为不同的分支获取回购大小。我试过获取git分支大小?
git count-objects -v
但它给出了每个分支相同的回购大小。
我正在尝试跟踪我正在处理的项目的大小。有没有一种简单的方法可以在磁盘上为不同的分支获取回购大小。我试过获取git分支大小?
git count-objects -v
但它给出了每个分支相同的回购大小。
这个问题并没有真正意义 - 在Git中,分公司不单独存放。相反,有一个提交网页,基本上只是存储差异。分支只是指向这个提交网络中特定提交的指针。所以一般来说,分支机构分享很多相同的信息。
如果您想知道单个分支的磁盘空间大小,意思是如果只克隆只有该分支的repo,需要的磁盘空间最少,最简单的方法就是制作回购就像那样,然后询问回购的规模。
这里的东西真丑:
$ git rev-list HEAD | # list commits
xargs -n1 git ls-tree -rl | # expand their trees
sed -e 's/[^ ]* [^ ]* \(.*\)\t.*/\1/' | # keep only sha-1 and size
sort -u | # eliminate duplicates
awk '{ sum += $2 } END { print sum }' # add up the sizes in bytes
这只会算斑点(不承诺,树木等),并不会占到任何包装或跨部门对象共享。但它可以作为有用的基础。
别的地方有人建议建立一个“捆绑”只有你需要看看它的大小事情。这可能是你在找什么的一个很好的近似:'混帐束创建 &&杜-sh '。它确实包含了打包和压缩,但不包括使用历史记录(引用,索引文件,配置等)所需的存储库大小。 –
fork0