GIT每周活动

GIT每周活动,git,report,git-diff,git-bash,git-log,Git,Report,Git Diff,Git Bash,Git Log,我想生成一个GIT周报,在这里我可以看到每个开发人员在特定时间段内提交和删除了多少代码 目的是获取特定时间段内开发人员活动的一般概述 开始日期 结束日期 显影剂 提交 添加代码 删除的代码 如果我能将这些信息导出到csv,那就太好了 [some-script/command] > weekly-git-log.csv 我将从git log开始--since=“1周前”---until=“现在”和 例如: git日志--从=“1周前”--到=“现在”--format=“%an,%ct,

我想生成一个GIT周报,在这里我可以看到每个开发人员在特定时间段内提交和删除了多少代码

目的是获取特定时间段内开发人员活动的一般概述

  • 开始日期
  • 结束日期
  • 显影剂
  • 提交
  • 添加代码
  • 删除的代码
如果我能将这些信息导出到csv,那就太好了

[some-script/command] > weekly-git-log.csv

我将从git log开始--since=“1周前”---until=“现在”和

例如:

git日志--从=“1周前”--到=“现在”--format=“%an,%ct,%s”>每周git日志.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 log --since="1 week ago" --until="now" \
--format="%an,%ct,%s" > git_log_11_17_2012-11_24_2012.csv

请注意,“1周前”可以完全用文本“1周前”完成(因此它不是实际日期的占位符,尽管也可以使用),这要归功于approxidate

特定日期范围内特定用户的更改列表-每个文件的详细信息

git log --pretty=format:"%h,%an,%ad,%s" --author=example@email.com --since=2012-11-19 --until=2012-11-20 --date=short --numstat

特定日期范围内特定用户的更改列表-提交摘要

git log --pretty=format:"%h,%an,%ad,%s" --author=example@email.com --since=2012-11-19 --until=2012-11-20 --date=short --shortstat
最终简短版本

git log --pretty=format:"%Cgreen%ad%x09%Cblue%s" --date=short --author=example@email.com --shortstat --since=2012-11-19 --until=2012-11-20

谢谢是的,我已经指定了我要查找的内容:-开始日期-结束日期-开发人员-提交-添加代码-删除代码您的命令只包含其中的一部分。我需要生成包含以下信息的表:日期|开发人员姓名|添加|删除|提交消息最终我不需要设置开始和结束日期,因为我可以轻松地在Excel中过滤这些信息。添加了一个脚本,它将使您更接近您想要的内容。再次浏览git日志手册页,特别是格式化部分,并根据需要对脚本进行微调。谢谢!和前一个一模一样。我需要生成更复杂的表。顺便说一句:编辑您的命令,而不仅仅是一行。。现在它不适用于复制粘贴。我添加了“\”行延续字符。顺便说一句,它与之前的不完全相同,例如“=”在前一个中丢失(但在我发布我的后添加了…)