Tôi muốn tìm 10 tệp lớn nhất trong kho lưu trữ của mình. Kịch bản tôi đưa ra là như sau:Cách tìm N tệp lớn nhất trong kho lưu trữ git?
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 -
Có cách nào tốt hơn/thanh lịch hơn để làm tương tự không?
Bởi "tệp", tôi có nghĩa là các tệp đã được kiểm tra trong kho lưu trữ.
Đây có phải là thực sự đối với bất kỳ thư mục, hoặc là có một cái gì đó cụ thể về git bạn đang cố gắng tìm ra? Bởi bạn ống, tôi giả sử bất kỳ lệnh unix là ok? –
Bạn có nghĩa là các tệp đang được theo dõi hoặc tệp trên đĩa không? Chúng có thể không tương quan theo cách bạn mong đợi. – Daenyth
Các tệp đã được kiểm tra vào kho lưu trữ. – Sumit