使用Git log --pretty=format命令如何显示代码添加和删除的行数?

4
我想要一个类似于这样的标记:

git log --pretty="format: %added %removed %cd"

据我所知,format:<string>中没有这些标志。
我已阅读文档,并未发现该标志的存在。但是这个标志看起来很显然应该包含在内,我想知道是否我漏掉了什么。

1
git log --stat 已经做了这个事情,不是吗? - Carl Norum
1
但它不作为--pretty=format:<string>的一部分使用。我希望能够在一行上获取stat信息。 - Anonymous
1
我认为你应该在Perl或其他工具中使用--shortstat - SaltyEgg
你可以通过在 Git 仓库文档文件中使用 grepping 命令来查找一些可用的管道命令。据我所知,没有格式选项可以实现你想要的功能。如果这是你真正想要的东西,你可能需要编写脚本来实现它。 - user456814
1个回答

2

如果您需要编写脚本以显示您想要的内容,则最接近原生git命令,可以在git log中按文件显示添加 / 删除的行是:

git log --pretty=tformat: --numstat

使用:

--numstat

--stat类似,但以十进制表示添加和删除的行数,并显示完整路径名以使其更加机器友好。对于二进制文件,输出两个 - 而不是 0 0。这里有一个示例脚本(并非您想要的完全相同,但您可以了解一般思路)。请参见此处
git log --pretty=tformat: --numstat $@ "`git merge-base HEAD develop`..HEAD" | gawk '{ adds += $1 ; subs += $2 ; net += $1 - $2 ; gross += $1 + $2 ; commits += 1 } END { print "total commits\tadded loc\tremoved loc\tgross loc\tnet loc\n"; printf "%d\t%d\t%d\t%d\t%d\n", commits, adds, subs, gross, net }' | column -s $'\t' -t

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接