我想找到我的存儲庫中的10個最大的文件。我想出的劇本如下:如何在git倉庫中找到N個最大的文件?
REP_HOME_DIR=<top level git directory>
max_huge_files=10
cd ${REP_HOME_DIR}
git verify-pack -v ${REP_HOME_DIR}/.git/objects/pack/pack-*.idx | \
grep blob | \
sort -r -k 3 -n | \
head -${max_huge_files} | \
awk '{ system("printf \"%-80s \" `git rev-list --objects --all | grep " $1 " | cut -d\" \" -f2`"); printf "Size:%5d MB Size in pack file:%5d MB\n", $3/1048576, $4/1048576; }'
cd -
有沒有更好/更優雅的方式來做同樣的事情?
「文件」我的意思是已經簽入存儲庫的文件。
這真的是任何目錄,或者是有具體的關於你正在試圖找出混帳東西嗎?通過你的管道,我假設任何unix命令都可以嗎? – 2012-02-26 20:12:25
你是指被追蹤的文件或磁盤上的文件?他們可能無法以您期望的方式關聯。 – Daenyth 2012-02-27 00:48:34
已經簽入存儲庫的文件。 – Sumit 2012-03-07 19:41:28