2

git logusingの出力をカスタマイズしたり、を使用--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       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はすでにこの機能を提供していますか?

4

1 に答える 1

1

私が知る限り、それはgit logネイティブにはできません。ただし、次の sed コマンドで実行できます。

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

線を探します--numstat。numstat 以外の行はホールド バッファーにコピーされ、出力されません。numstat 出力を含む行には、ホールド バッファーの現在の内容が追加され、途中に改行が残され、タブに置き換えられます。

于 2012-11-04T21:25:38.830 に答える