如何查看一个目录在git repos总大小中增加了多少?
我正在和某人谈论提交供应商代码对存储库的影响以及对git总大小的影响。我想带一些数字参加讨论 虽然很容易看到目录的当前大小(如何查看一个目录在git repos总大小中增加了多少?,git,Git,我正在和某人谈论提交供应商代码对存储库的影响以及对git总大小的影响。我想带一些数字参加讨论 虽然很容易看到目录的当前大小(du-sh vendor/),但这并不准确,因为它不能反映仍在历史中的文件的先前状态,也不能考虑git打包和压缩 有没有一种方法可以得到一个目录的大小贡献,并将这些因素考虑进去?我只是想知道。它似乎工作得很好,在这里应该是有帮助的,即使它不完全符合你的要求 #!/bin/bash -e # work over each commit and append all file
du-sh vendor/
),但这并不准确,因为它不能反映仍在历史中的文件的先前状态,也不能考虑git打包和压缩
有没有一种方法可以得到一个目录的大小贡献,并将这些因素考虑进去?我只是想知道。它似乎工作得很好,在这里应该是有帮助的,即使它不完全符合你的要求
#!/bin/bash -e
# work over each commit and append all files in tree to $tempFile
tempFile=$(mktemp)
for commitSHA1 in $(git rev-list --all); do
git ls-tree -r --long "$commitSHA1" >>"$tempFile"
done
# sort files by SHA1, de-dupe list and finally re-sort by filesize
sort --key 3 "$tempFile" | \
uniq | \
sort --key 4 --numeric-sort --reverse
# remove temp file
rm "$tempFile"