首页 > 解决方案 > 获取换行数

问题描述

我想做一个 git diff,但只获取更改的文件列表和每个文件更改的行。我有这个:

git diff HEAD..origin/dev --name-only

我得到这样的东西:

assets/shell.sh
package.json

但我正在寻找这样的东西:

assets/shell.sh     33 lines
package.json        5804 lines

有可能得到这样的总结吗?

标签: gitgit-diff

解决方案


您可以考虑使用git diff --shortstat --numstat.

它显示添加和删除的行。

输出看起来像这样:

$ git diff --shortstat --numstat HEAD^^..HEAD
1       1       Jenkinsfile-sciencetest
88      11      README.md
18      15      src/foo.py
1       0       src/bar.py
 4 files changed, 108 insertions(+), 27 deletions(-)

对于除最后一行之外的所有行,第一列是添加的行数。第二列是删除的行数,最后一列是文件名。

最后一行提供了摘要。


推荐阅读