有没有简单的方法来计算Git中两次提交之间更改的行数?
我知道我可以做一个git diff,并数行,但这似乎很乏味。我还想知道如何做到这一点,在行计数中只包括我自己的提交。
有没有简单的方法来计算Git中两次提交之间更改的行数?
我知道我可以做一个git diff,并数行,但这似乎很乏味。我还想知道如何做到这一点,在行计数中只包括我自己的提交。
当前回答
git diff --shortstat
给出修改和添加的行数。这只适用于未分阶段的更改。与树枝比较:
git diff --shortstat some-branch
其他回答
另一种获取指定时间段内所有更改日志的方法
git log --author="Tri Nguyen" --oneline --shortstat --before="2017-03-20" --after="2017-03-10"
输出:
2637cc736 Revert changed code
1 file changed, 5 insertions(+), 5 deletions(-)
ba8d29402 Fix review
2 files changed, 4 insertions(+), 11 deletions(-)
对于较长的输出内容,您可以将其导出到文件以获得更好的可读性
git log --author="Tri Nguyen" --oneline --shortstat --before="2017-03-20" --after="2017-03-10" > /mnt/MyChangeLog.txt
假设你想比较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(-)
我想让插入和删除进入和,以防其他人需要同样的东西:
# 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 the_other_branch_name --stat
对于懒惰的人,使用git log——stat。