GIT 每周事件

标签 git report git-diff git-bash git-log

我想生成每周 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/

相关文章:

javascript - 权限被拒绝,forever.js 作为 bash 脚本?

git - 如何从 'detached head state' 恢复提交?

javascript - NodeJS中是否有任何报告引擎(如Java中的JasperReport)?

Git:如何区分不同分支中的两个不同文件?

windows - git diff 的输出在 powershell 中处理不正确

ios - Git相对路径问题-在路径中找不到可定位文件

git - 如何使用Pycharm将我的Basic github认证更改为Git操作的Token认证要求

linux - 在 RedHat 3 上安装最新的 git

mysql - ORDER BY 子句中的 IF 语句

MySQL 用户保留和日常