如何在diff文件上拥有git统计信息?
在git存储库中,我可以执行以下操作:如何在diff文件上拥有git统计信息?,git,patch,Git,Patch,在git存储库中,我可以执行以下操作: git log --oneline --stat 我将有一个很好的输出,如下所示: ca0ab77 commit message a/file/changed | 19 ------------------- 1 file changed, 19 deletions(-) 在我的例子中,我在git存储库之外工作,我只有.diff(git diff的输出)文件,我希望有相同的统计数据(文件更改、添加、删除) 有没有工具可以做这件事?或者我应该写一个正则表
git log --oneline --stat
我将有一个很好的输出,如下所示:
ca0ab77 commit message
a/file/changed | 19 -------------------
1 file changed, 19 deletions(-)
在我的例子中,我在git存储库之外工作,我只有.diff(git diff的输出)文件,我希望有相同的统计数据(文件更改、添加、删除)
有没有工具可以做这件事?或者我应该写一个正则表达式?带有+/-符号的直方图和“1文件已更改,…”称为diffstat。
diffstat
工具()可以在您输入diff时生成以下内容:
$ diffstat -p1 my-patch.diff
src/some_file.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
如果只需要最后一行,请使用-s
:
$ diffstat -s my-patch.diff
1 file changed, 2 insertions(+), 2 deletions(-)
如果您正在向它提供带有a/b前缀的git Diff,那么使用-p1
可能是一个好主意。如果不使用-p
,diffstat将从文件名中删除常用前缀。有时,这会给您带来意外的结果(特别是当您的修补程序通过将文件与/dev/null
进行比较来添加或删除文件时)
如果使用-C
选项,Diffstat还可以为您提供彩色直方图