我正在尝试从以下内容中获取以下信息git log
: 1- 存储库中每个文件的提交数(两个日期之间) 2- 编辑每个文件的贡献者数量(两个日期之间) 3- 编辑每个文件的不同贡献者的数量(两个日期之间)
我试过玩,git log
但我没有那么成功。我也尝试搜索脚本,但没有运气。有什么帮助吗?
我正在尝试从以下内容中获取以下信息git log
: 1- 存储库中每个文件的提交数(两个日期之间) 2- 编辑每个文件的贡献者数量(两个日期之间) 3- 编辑每个文件的不同贡献者的数量(两个日期之间)
我试过玩,git log
但我没有那么成功。我也尝试搜索脚本,但没有运气。有什么帮助吗?
(使用常用的 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