[英]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
這樣,使用grep
, sort
等解析此輸出將很簡單。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.