有没有简单的方法来计算Git中两次提交之间更改的行数?

我知道我可以做一个git diff,并数行,但这似乎很乏味。我还想知道如何做到这一点,在行计数中只包括我自己的提交。


当前回答

用这个来总结这一年不错

git diff --shortstat <first commit number of the year> HEAD

获得结果270个文件更改,19175个插入(+),1979个删除(-)

其他回答

如果您想查看更改,包括在您的分支和另一个分支之间更改的行号,

git diff the_other_branch_name --stat

我想让插入和删除进入和,以防其他人需要同样的东西:

# get the log      filter useless parts      calculate the sum    and print it
git log --numstat | grep -vE '^[^0-9]' | awk '{sum += $1 + $2} END {print sum}'

这并不像其他一些解决方案那样通用(例如一个未定义的帖子),但只给出了一个简单的数字,这对我的用例来说很好

git diff --stat commit1 commit2

EDIT:您还必须指定提交(如果没有参数,它将工作目录与索引进行比较)。如。

git diff --stat HEAD^ HEAD

比较HEAD和HEAD的父类。

git diff --shortstat

给出修改和添加的行数。这只适用于未分阶段的更改。与树枝比较:

git diff --shortstat some-branch

虽然以上答案都是正确的,但如果你需要计算最后提交的次数,下面的答案是方便的

下面一个是最近5次提交的计数

Git diff $(Git log -5——pretty=format:"%h" | tail -1)——shortstat

获取最近10次提交的计数

Git diff $(Git log -10——pretty=format:"%h" | tail -1)——shortstat

generic -用你需要的最后提交数改变N

git diff $(git log -N——pretty=format:"%h" | tail -1)——shortstat

获取自启动以来所有提交的计数

Git diff $(Git log——pretty=format:"%h" | tail -1)——shortstat