类似于这个链接,但对于mercurial.我想找到最有助于我的mercurial存储库大小的文件.
我打算使用hg convert来创建一个新的,更小的存储库.我只是不确定哪些文件对存储库大小有贡献.它们可能是已被删除的文件.
在存储库历史记录中的任何位置找到这些内容的好方法是什么?有超过20,000个提交.我正在考虑使用PowerShell脚本,但我不确定最好的方法是什么.
为了收集有关Git存储库的一些统计信息,我正在寻找一种方法来执行以下操作:
du -h).一个以准Bash表示的应用程序将运行
echo $HASH $TIME `du -hs --exclude=".git" . | awk '{ print $1; }'` >> ../sizeovertime
Run Code Online (Sandbox Code Playgroud)
在所有提交中了解存储库的增长.
(不知何故,感觉应该可以使用git filter-branch --tree-filter它,但这对我来说看起来像是一个可怕的黑客.)
问题:我的.git/objects文件夹很大.
我只使用Atom作为文本编辑器,我使用git.我想这是我做错的一个错误,但任何事情都有可能是为什么它这么大?
除了简单的应用程序,我绝对不会做任何事情.其他奇怪的是objects文件夹里面有很多这样的东西.
哪个让我很困惑.每个文件夹每个都超过200兆字节,并且它们是同时创建的.
我试图从 repo 中删除一些大型二进制文件以减少其克隆大小。在研究了这个话题后,我偶然发现了以下脚本:
#!/bin/bash
# this script displays all blob objects in the repository, sorted from smallest to largest
# you may need `brew install coreutils --with-default-names`
git rev-list --objects --all \
| git cat-file --batch-check='%(objecttype) %(objectname) %(objectsize) %(rest)' \
| sed -n 's/^blob //p' \
| grep -vF "$(git ls-tree -r HEAD | awk '{print $3}')" \
| awk '$2 >= 2^20' \
| sort --numeric-sort --key=2 \
| gcut -c 1-12,41- \
| gnumfmt --field=2 --to=iec-i --suffix=B --padding=7 …Run Code Online (Sandbox Code Playgroud)