如何显示git log和git diff中每个文件的添加和删除的行数?

问题描述 投票:2回答:1

如果我用git log <commit-id> --stat执行git 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)。

  • 我知道我可以使用--numstat代替--stat,但是--numstat不会产生直方图。
  • 我也知道我可以使用diffstat。例如,diffstat

    git diff <commit-id> | diffstat -f4 -C

    但是在这里我丢失了有关文件移动/重命名(例如myproj/src/__main__.py | 1 1 0 + myproj/src/web.py | 31 28 3 ++++- 2 files changed, 29 insertions(+), 3 deletions(-) )的信息。

因此,如何获得类似于myproj/{ => src}/web.py的输出,但要获得有关每个文件添加的行数和删除的行数的信息?

git git-diff git-log
1个回答
0
投票

--stat输出以下内容:

git log --numstat --stat --oneline
© www.soinside.com 2019 - 2024. All rights reserved.