3

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

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

4

1 回答 1

4

(使用常用的 Unix 工具时)

repo 中给定文件的提交次数:

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

现在,要对当前 repo 中的每个文件进行迭代,您需要执行以下操作:

find | grep -v '^\./\.git' | while read filename
do
    echo "${filename} has $(git log --oneline ${filename} | wc -l) commits"
done
于 2012-07-30T20:28:59.147 回答