簡體   English   中英

如何在 git log 和 git diff 中顯示為每個文件添加和刪除的行數?

[英]How to show number of lines added and deleted for every file in git log and git diff?

如果我使用--stat執行git log <commit-id> --statgit diff ,我會得到類似的信息:

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 例如, git diff <commit-id> | diffstat -f4 -C 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 )。

那么如何獲得類似於--stat輸出,但包含有關為每個文件添加的行數和刪除的行數的信息?

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(-)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM