簡體   English   中英

可解析的git日志輸出

[英]parseable git log output

您可以使用--pretty定制git log的輸出,並可以使用--pretty顯示添加和刪除的行--numstat 看起來像這樣:

$ git log --pretty=format:"%h - %ar : %s" --numstat config*.ini

f665c63 - 6 months ago : fixes session end post
1       1       config.ini

4541de2 - 7 months ago : fixes missing strings
6       1       config.ini
3       1       config_office.ini

但是我想要的是提交信息和文件更改的輸出,以每行顯示一次。 像這樣:

1       1       config.ini            f665c63 - 6 months ago : fixes session end post
6       1       config.ini            4541de2 - 7 months ago : fixes missing strings
3       1       config_office.ini     4541de2 - 7 months ago : fixes missing strings

這樣,使用grepsort等解析此輸出將很簡單。git是否已提供此功能?

據我所知, git log本身不能做到這一點。 但是,此sed命令可以做到:

sed '/^[0-9]\+\t[0-9]\+\t[^\t]\+$/ b file; h; d; : file; G; s/\n/\t/'

它查找--numstat行。 任何非numstat行都將復制到保留緩沖區中,並且不會打印。 具有numstat輸出的行將附加保留緩沖區的當前內容,並在中間保留換行符,然后將其替換為制表符。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM