如何查看我添加到代码库的所有代码行?

时间:2020-04-09 22:05:02

标签: git

我想查看已添加到代码库中的所有代码行,因为我想运行字符频率计数。对于我编写的每个提交,我都希望使用git show之类的东西,但是我需要该命令仅显示添加的代码行,而不显示删除的代码行或git show显示的概述信息在顶部。

(我没有嫁给git show,也许有更好的命令,这只是我所知道的最接近的命令。)

我最好的解决方案是使用git log --author=<me>并仅获取commit shas(有一个命令,我不知道这是副手的)。然后,我可以遍历阴影并执行git show -p <sha>,但这会让我得到我不想要的东西(删除了线条,并得到了概述)。任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:1)

您可以直接使用git log -p使补丁与日志内联。使用--oneline选项减少提交消息可以很容易地将其删除。然后只需过滤补丁的+行,首先过滤掉diff头文件的+++,最后剥离开头的+

git log -p --oneline --author=<me> | grep -v '^+++ ' | grep '^+' | sed 's/^+//'

答案 1 :(得分:0)

也许过滤git show -p的输出:

git log --author="..." --format=format:%H \
  | xargs git show -p --dst-prefix=never-used-string/ \
  | sed -n '/never-used-string/! s/^+\(.*\)/\1/p'

应该给您几乎所有的需求(前提是never-used-string不会出现在代码中的任何位置)。 不确定合并提交之类的东西...