我想知道在整个生命周期中添加和删除对文件集做了多少存储库的em>,无论作者或提交如何。
有没有办法从git获取该信息?或者有没有办法通过使用git命令与一些shell魔法相关来获取此信息?
答案 0 :(得分:0)
这是一个起点,虽然可能还有更多工作要做:
git rev-list --branches --parents |
while read hash parents; do
# $hash is a commit; it has $parents as its parents
set -- $parents
for p do # loop over all of $hash's parents
git diff $p $hash --stat -- $pathlimiters
done
done | awk '/files changed, / { print }'
输出将有多行格式:
2 files changed, 10 insertions(+), 1 deletion(-)
3 files changed, 924 insertions(+), 550 deletions(-)
修改awk
代码(或用您喜欢的任何语言编写内容)以查找插入和删除计数并总结它们。
您可能还需要为根提交添加一个特殊情况(当$parents
为空时)与the empty tree进行区分。