我正在寻找一些好的工具/脚本,允许我从git存储库生成一些统计数据。我在一些代码托管网站上看到过这个功能,它们包含了这样的信息……

每个作者提交 每天/每周/每年/等等提交。 代码行数随时间变化 图 ... 更

基本上,我只是想了解我的项目随着时间的推移增长了多少,哪个开发人员提交了最多的代码,等等。


当前回答

如果你的项目在GitHub上,你现在(2013年4月)有Pulse(参见“跟上Pulse的速度”):

它更有限,不会显示你可能需要的所有统计数据,但可以用于任何GitHub项目。

Pulse是一个发现项目最近活动的好方法。 Pulse将显示谁在积极提交,以及项目默认分支中发生了哪些变化:

你可以在导航栏的左边找到链接。

请注意,(目前)还没有用于提取该信息的API。

其他回答

如果你的项目在GitHub上,你现在(2013年4月)有Pulse(参见“跟上Pulse的速度”):

它更有限,不会显示你可能需要的所有统计数据,但可以用于任何GitHub项目。

Pulse是一个发现项目最近活动的好方法。 Pulse将显示谁在积极提交,以及项目默认分支中发生了哪些变化:

你可以在导航栏的左边找到链接。

请注意,(目前)还没有用于提取该信息的API。

我在ruby中做一个git仓库统计生成器,它被称为git_stats。

您可以在项目页面上找到为一些存储库生成的示例。

以下是它能做的事情:

一般的统计数据 文件总数(文本和二进制) 总行数(添加和删除) 总犯 作者 活动(总数和每个作者) 按日期提交 按小时提交 按星期的一天提交 按每周的小时提交 按每年的月份提交 按年提交 按年和月提交 作者 由作者提交 作者新增行数 被作者删除的行 作者修改的行数 文件和行 按日期 通过扩展

如果您有任何想法要添加或改进,请让我知道,我将感谢任何反馈。

只是想把gitqlite添加到这里的混合答案中,这是一个命令行工具,允许对git数据执行SQL查询,比如SELECT * FROM commit WHERE author_name = 'foo'等。

完全公开,我是项目的创建者/维护者!

Git-bars可以显示“每天/每周/每年/等等提交”。

您可以使用pip install git-bars (cf. https://github.com/knadh/git-bars)安装它。

输出如下所示:

$ git-bars -p month
370 commits over 19 month(s)
2019-10  7    ▀▀▀▀▀▀
2019-09  36   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2019-08  7    ▀▀▀▀▀▀
2019-07  10   ▀▀▀▀▀▀▀▀
2019-05  4    ▀▀▀
2019-04  2    ▀
2019-03  28   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2019-02  32   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2019-01  16   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2018-12  41   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2018-11  52   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2018-10  57   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2018-09  37   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2018-08  17   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2018-07  1    
2018-04  7    ▀▀▀▀▀▀
2018-03  12   ▀▀▀▀▀▀▀▀▀▀
2018-02  2    ▀
2016-01  2    ▀

如果你更喜欢托管解决方案,你应该看看Open Hub(以前的Ohloh.net)。这很好,但不要期待大量的统计数据。