每个文件的git log提交计数

时间:2012-07-30 20:20:37

标签: git

我正在尝试从git log获取以下内容: 1-回购中每个文件的提交数量(两个日期之间) 2-编辑每个文件的贡献者数量(两个日期之间) 编辑每个文件的3个不同贡献者(两个日期之间)

我尝试过玩git log,但我没那么成功。我也试过搜索脚本,但没有运气。有帮助吗?

1 个答案:

答案 0 :(得分:4)

(使用通常的Unix工具时)

回购中给定文件的提交次数:

git log --oneline ${filename} | wc -l

给定文件的贡献者数量:

git log --pretty=format:%ae ${filename} | sort -u | wc -l

两个日期之间给定文件的贡献者数量:

git log --since=${date1} --until=${date2} --pretty=format:%ae ${filename} \
    | sort -u | wc -l

现在,要为当前仓库中的每个文件迭代这个,你可以做以下几点:

find | grep -v '^\./\.git' | while read filename
do
    echo "${filename} has $(git log --oneline ${filename} | wc -l) commits"
done