我想生成每周 GIT 报告,我可以在其中查看每个开发人员在特定时间范围内提交和删除了多少代码。
目的是获取特定时间范围内开发者事件的总体概览
- 开始日期
- 结束日期
- 开发人员
- promise
- 添加代码
- 删除代码
如果能把这些信息导出成csv就好了
[some-script/command] > weekly-git-log.csv
最佳答案
我将从 git log --since="1 week ago"--until="now"
和 customize it to your heart's content 开始.
例子:
git log --since="1 周前"--until="now"--format="%an,%ct,%s"> weekly-git-log.csv
您对于要存储在 CSV 文件中的内容不是很具体,所以我给您一个非常笼统的答案,让您自己填写详细信息。
编辑:
如果你想添加/删除行,你将不得不变得更高级并使用 bash 脚本:
#!/bin/bash
IFS=$'\n'
DATA=(`git log --since="1 week ago" --until="now" --format="%ct,%an,%s,"`)
LINES=(`git log --since="1 week ago" --until="now" --pretty=tformat: --shortstat | gawk '(NF > 0){ printf "%s,%s\n",$1,$4 }' -`)
i=0
while [ $i -lt ${#DATA[@]} ]; do
echo "${DATA[$i]}${LINES[$i]}"
i=$[i + 1]
done
我在消息后添加/删除了行,因为在脚本中这样做更容易(我不太擅长 bash)。这应该是你想做的事情的一个很好的基础。 (调用./script.sh >file.csv
输出到文件)
请注意,提交消息中的逗号会破坏您的 csv 文件,我会将 --format
中的逗号更改为一些无法在键盘上定期键入的晦涩字符,擦洗去掉消息中的任何逗号,然后用逗号代替那个晦涩的字符。
或者如果您不需要该消息,您也可以删除格式中的 %s
。
关于GIT 每周事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13547838/