有没有简单的方法来计算Git中两次提交之间更改的行数?
我知道我可以做一个git diff,并数行,但这似乎很乏味。我还想知道如何做到这一点,在行计数中只包括我自己的提交。
有没有简单的方法来计算Git中两次提交之间更改的行数?
我知道我可以做一个git diff,并数行,但这似乎很乏味。我还想知道如何做到这一点,在行计数中只包括我自己的提交。
当前回答
用这个来总结这一年不错
git diff --shortstat <first commit number of the year> HEAD
获得结果270个文件更改,19175个插入(+),1979个删除(-)
其他回答
git log --numstat
只给你数字
用这个来总结这一年不错
git diff --shortstat <first commit number of the year> HEAD
获得结果270个文件更改,19175个插入(+),1979个删除(-)
Git diff——stat将重复计算修改的行。如果这对你来说是个问题,你可以这样做:
git diff | diffstat -Cm
这将给您相同的输出,除了它将[尝试]区分添加+删除的行和修改的行。
git diff --shortstat
给出修改和添加的行数。这只适用于未分阶段的更改。与树枝比较:
git diff --shortstat some-branch
如果你想检查两个分支或提交之间插入、删除和提交的数量。
使用提交id:
git log <commit-id>..<commit-id> --numstat --pretty="%H" --author="<author-name>" | awk 'NF==3 {added+=$1; deleted+=$2} NF==1 {commit++} END {printf("total lines added: +%d\ntotal lines deleted: -%d\ntotal commits: %d\n", added, deleted, commit)}'
使用分支:
git log <parent-branch>..<child-branch> --numstat --pretty="%H" --author="<author-name>" | awk 'NF==3 {added+=$1; deleted+=$2} NF==1 {commit++} END {printf("total lines added: +%d\ntotal lines deleted: -%d\ntotal commits: %d\n", added, deleted, commit)}'