#!/bin/bash

rm -f ~/git.log
cd 路径/repositories

# 获取所有的仓库
for dir in $(ls ./)
do
    cd $dir
    # 获取子目录
    for dir1 in $(ls ./)
    do
        cd $dir1
            # [ -d $dir2 ] && echo $dir2
            git log --format='%aN' | sort -u | while read name; do echo -en "$name\t"; git log --author="$name" --since ==1996-01-01 --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -; done >>  ~/git.log
        cd ../
    done
    cd ../
done

echo '================'  >> ~/git.log

更多推荐