Git 显示最近 10 次提交中某个文件的文件大小?



我想看看我删除调试代码的缩小是否有效,或者它停止工作我无法判断,因为使用了大约 3 个框架并且代码很容易超过 10k 行。但我认为它在某个时候起作用了。所以我想查看过去 10 次左右提交的文件大小,看看文件大小是否有巨大变化

也许是一个脚本,它获取文件大小、要返回的提交次数并打印从最近到旧的大小。

您需要添加错误检查,并且可能不需要相对路径,但您可以执行以下操作:

$ show_size() { git rev-list -10 HEAD | 
while read sha; do git show "$sha:./$1" | wc -c; done; }

您可能需要更多信息;例如:

show_size() { git rev-list -10 HEAD |  
while read sha; do 
printf "%s: size %dn" "$(git show -s --format=%aD $sha)" 
"$(git show "$sha:./$1" | wc -c)";
done; }

但是,与其检查最后 10 次提交,您可能只想查看文件大小何时更改:

show_size() { 
git rev-list HEAD | while read sha; do
printf "%s: size %dn" "$(git show -s --format=%aD $sha)" 
"$(git show "$sha:./$1" | wc -c)";
done | awk '$NF!=a; {a=$NF}'
}
git log -10 --pretty='%H:path/to/it' | git cat-file --batch-check 

将获取签出历史记录中最近 10 个提交中的path/to/it大小,添加--first-parent以避免搜索合并历史记录,-- path/to/it仅打印(和计数(触及该路径的提交。

最新更新