Git diff总结了吗?

问题描述 投票:29回答:3

使用git pull,它显示如下的差异摘要:

Updating 6a78751..811f788
Fast-forward
 app/Http/Controllers/SaleController.php    |   7 +-
 .../views/pages/sale/create.blade.php      | 137 +++++++++++++---
 resources/views/pages/sale/index.blade.php |   4 +-
 resources/views/pages/sale/show.blade.php  |   5 +-
 4 files changed, 123 insertions(+), 30 deletions(-)

有没有办法使用像git diff这样的命令来获得类似的输出?

git
3个回答
55
投票

git log --stat将显示每个文件的更改量。

git whatchanged给出了修改过的文件的一些细节。

git diff --stat <sha1> <sha2>给出了两次提交之间的文件和更改量。

git diff --stat <branch>与另一个分支(例如主人)进行比较


38
投票

git diff确实是你寻求的命令。特别是你想要的

git diff --stat

其他类似的报告可以使用

git diff --numstat
git diff --shortstat
git diff --dirstat
git diff --name-status

4
投票

有没有办法使用像git diff这样的命令来获得类似的输出?

使用Git 2.17(2018年第二季度),实际上有一个结果比git diff -stat更完整:

git diff”和朋友们学习了“--compact-summary”,它显示了通常用“--summary”选项在“--stat”选项的diffstat输出的同一行上给出的信息(这样可以节省垂直空间并在同一条路径上保存信息地点)。

参见commit ddf88fa(2018年2月24日)和commit c905cbc(2018年2月1日)Nguyễn Thái Ngọc Duy (pclouds)。 (由Junio C Hamano -- gitster --合并于commit 868f7d2,2018年3月14日)

diff:添加--compact-summary

某些信息目前显示为--s​​ummary,但与--stat结合使用时,由于同一文件的信息位于两个地方(--stat和--summary),因此有点难以阅读。

最重要的是,添加或删除文件的提交会使显示行数增加一倍,如果添加或删除大量文件,这可能会很多。

--compact-summary将大部分--summary嵌回到--stat中文件名部分和图形线之间的小空间中,例如与commit 0433d53

Documentation/merge-config.txt         |  4 +
builtin/merge.c                        |  2 +
...-pull-verify-signatures.sh (new +x) | 81 ++++++++++++++
t/t7612-merge-verify-signatures.sh     | 45 ++++++++
4 files changed, 132 insertions(+)

它有助于缩小信息并节省一些文本空间。

diffstat的新功能是:

  • 新的0644文件显示为(new)
  • 新的0755文件显示为(new +x)
  • 新的符号链接显示为(new +l)
  • 删除的文件显示为(gone)
  • 添加可执行位的模式更改显示为(mode +x)
  • 删除它的模式更改显示为(mode -x)

请注意,--compact-summary不包含--summary提供的所有信息。重写百分比未显示,但可以在以后添加,如R50%C20%

© www.soinside.com 2019 - 2024. All rights reserved.