Git diff --stat解释

Luk*_*das 43 git diff diffstat

这里已经解释了Git的拉动输出.尽管如此,我仍然不确定文本图的确切含义.

例如:

git diff --stat master HEAD^

输出(截断):

Site/index.php | 118 ++--

虽然修改的行数清楚地显示为118,但文本图表有点难以解释.

这可能与添加和删除行的比例有关吗?

Pat*_* B. 34

是的,它是添加和删除行的比例.

也可以看看:

man diffstat
Run Code Online (Sandbox Code Playgroud)


Edg*_*eal 25

git diff --numstat "@{1 day ago}"
Run Code Online (Sandbox Code Playgroud)

参数:

  • diff =显示差异
  • --numstat =显示插入和删除的行数
  • @{1 day ago} =期间.

产量

0   1   WebContent/WEB-INF/tags/Grid.tag
38  30  ant/build.xml
Run Code Online (Sandbox Code Playgroud)
  • 第1列(含0 38)=插入
  • 第2列(含1 30)=已删除

PS:列由tab(\t)分隔.


Ofi*_*chy 9

在这里回答:

它应该反映列出的每个文件的更改量(以行为单位).
添加的标志,删除的减少.

118给出了改变线的量,-/+为您提供了删除/添加的比例.
如果更改量适合一行,您将在每次添加时获得" + ",每次删除都会显示" - ";
否则,这是近似值,例如

CHANGES.txt     |   47 +++++++++++++++++++++++++++++++++
make-release.py |   77 +++++++++++++++++++++++++++++++++++++++----------------
2 files changed, 102 insertions(+), 22 deletions(-)
Run Code Online (Sandbox Code Playgroud)

CHANGES.txt因为你可以看到有没有" - ",并自47" + "很多,你让他们(即100%)的比例的量.
make-release.py你看到x39 ' + '代表55个加法和x16 ' - '代表22个删除.
正如他们的比例,只是适合输出屏幕的数量.

每行的符号数量是GCD符合线宽的倍数.

希望有所帮助.

  • 我知道它有点,但你知道为什么当有空间时可能不显示总数吗?我有一行显示`| 3 -` 但我也有一行显示 `| 55 +++----` 所以有三个`-` 的空间,但它只显示了 1 (2认同)