我如何使用gitstats来了解Git repo在总计和每个提交者中有多少SLOC?

时间:2012-02-15 21:32:21

标签: git code-statistics

我刚刚安装了GitStats,我就在那里,我必须说,“现在,什么?”。我在网站上看到了用户代码行等的示例,但没有关于如何获得这样简单统计数据的示例。我不需要图表或任何东西。我只是希望能够在一个用户列表中控制输出结果 - >代码行或其他东西。非常感谢任何帮助。

1 个答案:

答案 0 :(得分:27)

更新(2014年7月11日)

我不确定在我第一次回答这个问题时我安装了什么版本,但是当我运行authors.html时,最新版本给了我一个gitstats /path/to/repo/.git /path/to/output/dir/文件,其中包含了我正在寻找的信息

原始答案

我发现这非常简单。你只需输入:

gitstats /path/to/the/repo.git --outputpath=directory_where_you_want_the_output

它使用图表,通过标签导航等输出整个报告

注意:您无法分辨每个用户贡献了多少行(至少使用了apt-get install gitstats给我的gitstats版本)。输出很有用,是了解代码库及其贡献者的好方法。我做了以下工作,以获得特定用户的行数:

git log --author="Some Author <Some.Author@example.com>" --oneline --shortstat > some_author.txt

然后,我使用Python来解析数据(因为有数百次提交):

>>> import re
>>> file = open('some_author.txt', 'r')
>>> adds, dels = 0, 0
>>> for line in file.readlines():
...     am, dm = re.search(r'\d+(?= insertions)', line), re.search(r'\d+(?= deletions)', line)
...     if am is not None:
...         adds += int(am.group())
...         dels += int(dm.group())
... 
>>> adds, dels
(5036, 1653)
>>> file.close()