从Git存储库生成统计信息

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

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

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

285359 次浏览

快速搜索谷歌,我找到:http://gitstats.sourceforge.net/

你试过这个项目吗?我相信有类似的项目。

除了xyld中提到的GitStats (Git历史统计生成器),用Python编写并要求Gnuplot用于图形之外,还有

每个作者提交

git shortlog -s -n

我尝试了http://gitstats.sourceforge.net/,开始是非常有趣的。

一旦git clone git://repo.or.cz/gitstats.git完成,转到该文件夹并输入gitstats <git repo location> <report output folder>(为report创建一个新文件夹,因为这会生成很多文件)

这里是一个快速的数据列表:

    <李>活动
    • 一天中的每一小时
    • 星期几
    • 李< / ul > < / > <李>的作者
      • 作者名单
      • 月作者
      • 年度最佳作者
      • 李< / ul > < / > <李>文件
        • 按日期计算文件数量
        • 扩展
        • 李< / ul > < / > <李>行
          • 代码行数
          • 李< / ul > < / >
          • 标签

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

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

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

以下是它能做的事情:

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

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

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

它是更有限的,不会显示所有你可能需要的统计数据,但很容易为任何GitHub项目。

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

Pulse

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

Link

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

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    ▀

repostat是gitstats工具的一个增强的分支。

我不确定它是否以任何方式与pypi上同名的项目相关,所以你最好从GitHub下载最新版本并将其安装到你的Python环境中。

截至2019年11月,在PATH中提供gnuplot后,我能够在Windows 7下使用v1.2.0。


usage: repostat [-h] [-v] [-c CONFIG_FILE] [--no-browser] [--copy-assets]
git_repo output_path


Git repository desktop analyzer. Analyze and generate git statistics in HTML
format


positional arguments:
git_repo              Path to git repository
output_path           Path to an output directory


optional arguments:
-h, --help            show this help message and exit
-v, --version         show program's version number and exit
-c CONFIG_FILE, --config-file CONFIG_FILE
Configuration file path
--no-browser          Do not open report in browser
--copy-assets         Copy assets (images, css, etc.) into report folder
(report becomes relocatable)

就在昨天,我添加了我的git-analytics docker-compose文件,它构建了几个容器,开始分析多个git存储库。

它能够向您显示关于作者的一段时间的提交统计数据,以及一些不同的统计数据。

你可以使用提供的angular客户端和kibana来可视化统计数据。

https://github.com/alexejsailer/git-analytics-docker

随着时间的推移,它会得到改善。

Angular客户端截图

Angular Client截图 .

Kibana客户端截图

Kibana客户端截图]

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

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