Git:如何根据添加/更改的代码行来估计一个人对我的项目的贡献?

我有一个GIT存储库,我想计算一个人或一组人在一段时间内添加/更改多少行代码。是否可以用git计算?
你可以使用git log和一些shell-fu:

git log --shortstat --author "Aviv Ben-Yosef" --since "2 weeks ago" --until "1 week ago" \
    | grep "files\? changed" \
    | awk '{files+=$1; inserted+=$4; deleted+=$6} END \
           {print "files changed", files, "lines inserted:", inserted, "lines deleted:", deleted}'

说明:git log –shortstat显示每个提交的短统计信息,其中包括显示更改的文件数,插入和删除行数。然后,我们可以筛选一个特定的提交者(–author“Your Name”)和一个时间范围(–since“2 weeks ago”–until“1 week ago”)。

现在,为了实际上总结统计数据,而不是每个提交看到条目,我们做一些shell脚本来做。首先,我们使用grep仅过滤带有diffs的行。这些线看起来像这样:

 8 files changed, 169 insertions(+), 81 deletions(-)

或这个:

 1 file changed, 4 insertions(+), 4 deletions(-)

然后我们使用awk:对每一行我们添加文件改变(第一个字),插入行(第四个字)和删除的行(第六个字),然后打印它们,然后总结它们。

编辑:正斜杠添加在顶部的代码段,以便它可以复制并粘贴到命令行。

http://stackoverflow.com/questions/4592866/git-how-to-estimate-a-contribution-of-a-person-to-my-project-in-terms-of-added

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:Git:如何根据添加/更改的代码行来估计一个人对我的项目的贡献?