我要归档一个包含大量垃圾的旧项目.我希望我再也不需要它,但我想把所有重要的东西都置于版本控制之下.由于项目中的混乱,不容易说出什么是来源和什么可以消失(没有makefile,没有make clean,没有).所以我想把几乎所有的东西放在那里,只考虑最大的文件进行排除.
如何列出要提交(或暂存)的文件及其大小?
我可以写一个脚本或其他什么,但希望有一个更简单的解决方案.我在Cygwin下工作,唯一可用的gui是git gui不显示文件大小.否则它对我需要的东西来说是完美的.
你可以试试这个。它找到所有大于 1M 的文件,并将它们从最大到最小排序。打印的文件大小以字节为单位:
cd ~/files_to_archive
find . -type f -size +1M -printf '%s %p\n' |sort -nr
Run Code Online (Sandbox Code Playgroud)
输出:
74751072 ./linux-2.6.38-rc4.tar.bz2
34686037 ./git-source.tar.gz
14026384 ./Python-2.7.tar.gz
Run Code Online (Sandbox Code Playgroud)
更新:循环返回的文件find并打印其git状态:
git ls-files -t `find . -type f -size +1M |xargs`
Run Code Online (Sandbox Code Playgroud)