簡體   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