每个文件的git日志提交计数

每个文件的git日志提交计数,git,Git,我试图从git日志中获取以下内容: 1-回购协议中每个文件的提交数量(两个日期之间) 2-编辑每个文件的贡献者数量(两个日期之间) 3-编辑每个文件的不同贡献者的数量(两个日期之间) 我试过玩git log,但没有那么成功。我也试着搜索脚本,但没有运气。有什么帮助吗 (使用常用Unix工具时) 回购中给定文件的提交数: git log --oneline ${filename} | wc -l 给定文件的参与者数: git log --pretty=format:%ae ${filename}

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

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

(使用常用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
现在,要对当前repo中的每个文件重复此操作,您需要执行以下操作:

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

我尝试了前两个命令,其中有两个文件都返回了相同的数字,用于不同的文件!奇怪的至于文件名,我已经尝试使用src/../filename和folder/../filename,因为我已经在src下了/