获取有关特定目录中的行贡献的Git统计信息

时间:2016-04-25 17:30:52

标签: git

我希望看到统计数据告诉我哪些作者在给定目录中贡献了多少行

git-extras和其他一些类似的工具存在,但我无法弄清楚我是否可以使用它们(或其他任何东西)将我的统计数据限制在给定的目录中。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

您可以使用简短的脚本:

#!/bin/bash

git shortlog -s -- $1 | cut -c8- | while read i
do
    git log --author="$i" --pretty=tformat: --numstat -- $1 \
    | awk -v name="$i" '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "%s: added lines: %s removed lines: %s total lines: %s\n", name, add, subs, loc }'
done

将其命名为 loc.sh 然后运行:loc.sh [directory / file]

输出将是这样的:

  

名称1:添加行:10757删除行:49行总数:10708
  Nmae2:添加行:1193个删除行:94255总行:-93062

查看更多herehere

答案 1 :(得分:0)

检查此CLI工具(https://www.npmjs.com/package/whodid

$ npm install whodid -g

然后,转到您的项目目录,只需输入

$ cd my-project
$ whodid

您也可以将结果作为JSON

$ whodid author --as-json=true

,如果需要,则不建议使用,但可以在合并提交中包含行。

$ whodid author --include-merge=true

如果您觉得某人的得分太高,则可以使用“沉重”子命令检查原因。

$ whodid heavy --num2=20 --author="jeff <jeff@xahoo.com>"