首页 > 解决方案 > 如何显示 git log 和 git diff 中每个文件添加和删除的行数?

问题描述

如果我这样做git log <commit-id> --statgit diff使用--stat,我会得到类似的东西:

myproj/src/__main__.py                             |   1 +
myproj/{ => src}/utils.py                          |   0
myproj/{ => src}/web.py                            |  31 ++++-
3 files changed, 29 insertions(+), 3 deletions(-)

每个文件旁边的数字是:number_of_inserts + number_of_deletes. 这不是我想要的。我想知道为每个文件添加和删除的行数(例如+28 -3,而不是31)。

那么如何获得类似于 的输出--stat,但包含有关为每个文件添加的行数和删除的行数的信息?

标签: gitgit-diffgit-log

解决方案


git log --numstat --stat --oneline输出以下内容:

6012d9a9fa69 docs: kvm: Convert timekeeping.txt to ReST format
1       0       Documentation/virt/kvm/index.rst
128     95      Documentation/virt/kvm/{timekeeping.txt => timekeeping.rst}
 Documentation/virt/kvm/index.rst                            |   1 +
 Documentation/virt/kvm/{timekeeping.txt => timekeeping.rst} | 223 +++++++++++++++++++++++++++++++++++++++++++++----------------------------------
 2 files changed, 129 insertions(+), 95 deletions(-)

推荐阅读