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

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


当前回答

关于上次提交的简短统计信息:

git diff --shortstat HEAD~1 HEAD

在我的例子中,这给了我以下信息:

 254 files changed, 37 insertions(+), 10773 deletions(-)

插入和删除是受影响的行。

其他回答

该命令将比较本地文件和远程文件

git diff --stat

Git diff——stat将重复计算修改的行。如果这对你来说是个问题,你可以这样做:

git diff | diffstat -Cm

这将给您相同的输出,除了它将[尝试]区分添加+删除的行和修改的行。

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

# 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 log --numstat 

只给你数字

假设你想比较abcd123(第一次提交)和wxyz789(最后一次提交)之间的所有提交,包括:

git log wxyz789^..abcd123 --oneline --shortstat --author="Mike Surname"

这将给出如下简洁的输出:

abcd123 Made things better
 3 files changed, 14 insertions(+), 159 deletions(-)
wxyz789 Made things more betterer
 26 files changed, 53 insertions(+), 58 deletions(-)