如何生成上个月的git提交日志,并将其导出为CSV?

Jus*_*son 62 csv git github

有没有办法生成上个月的git提交日志,并将其导出为CSV文件?我正在寻找可以从命令行或第三方应用程序运行的东西.我想要以下列:作者,提交日期,主题,文件编辑和哈希.

Sim*_*mon 106

您可以使用--since--pretty选项git log,例如:

git log --since="last month" --pretty=format:'%h,%an,%ar,%s' > log.csv
Run Code Online (Sandbox Code Playgroud)

有关更多选项,请参阅Git日志手册页的PRETTY FORMATS部分.

  • 如果提交消息包含逗号,则添加引号将改进输出csv文件."%H", "%一", "%AR", "%s" 时 (6认同)
  • 这更棘手,因为通常,提交会影响多个文件.你想要一行*文件*(因此同一个提交多行)或一个(分号分隔?)每个提交受影响的文件列表?无论如何,这将涉及我猜的shell脚本. (2认同)

A.B*_*ger 34

此命令创建一个格式化的CSV,其中包含哈希,用户,日期/时间,描述,更改的文件,插入,删除

git log --pretty=format:'"%h","%an","%aD","%s",' --shortstat --no-merges | paste - - - > log.csv
Run Code Online (Sandbox Code Playgroud)

  • 合并提交给我搞砸了输出,添加了`--no-merges`参数.对于包含逗号的提交文本,我还使用`%x09`作为制表符分隔符而不是逗号. (2认同)

Mar*_*una 5

要添加,如果您要应用日期范围,请以这种格式“ yyyy-mM-d”添加--after或--before

git log --before="2016-12-1" --pretty=format:'"%h","%an","%ae","%aD","%s",' --shortstat --no-merges | paste - - - > log.csv
Run Code Online (Sandbox Code Playgroud)