如何显示以git log单行格式更改的总行数?

时间:2018-11-02 23:35:36

标签: git awk sed command-line

我想在此输出中添加每次提交更改的总行数:

git log --pretty=format:"%cd | %cn | %h | %s"

实现此目标的最佳方法是什么?

1 个答案:

答案 0 :(得分:3)

可以随意修改,但这很简单:

function gcount() {
    git diff --shortstat $1 | sed -E 's/[^[:digit:][:space:]]//g' | awk '{ print $2+$3 }'
}

git log --pretty=format:"%h" | while read hash
do
    echo "$(gcount $hash)"
done | head > a.txt

git log --pretty=format:"%cd | %cn | %h | %s" | head > b.txt

paste b.txt a.txt