繁体   English   中英

Git日志JSON *文件已更改*

[英]Git log JSON *with changed files*

我需要获取git log命令的输出,格式为JSON。 我喜欢Git日志输出到XML,JSON或YAML中建议的方法吗? 此处使用以下命令使用自定义git log pretty formatter和perl处理的轻层:

git log \
--pretty=format:'{%n  "commit": "%H",%n  "author": "%an <%ae>",%n  "date": "%ad",%n  "message": "%f"%n},' \
$@ | \
perl -pe 'BEGIN{print "["}; END{print "]\n"}' | \
perl -pe 's/},]/}]/'

这对于获取那些特定字段非常有用,但我还需要使用JSON输出中包含的--name-status标志返回的已更改文件列表。

我尝试了各种方法,但是如何处理却迷茫了。 我的直觉告诉我,我缺少明显的东西。 有任何想法吗?

谢谢!

我在原始Noah Sussman的脚本中添加了--name-only参数支持,因此您可以使用以下命令获取已更改文件的列表:

git log2json --name-only

修改后的脚本在这里

我对Perl知之甚少。 这是我获取提交的更改文件的方法。 希望能帮助到你。

git log -1 <sha1> --pretty=%h --name-only | tail -n +3

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM