从Git存储库生成统计信息

时间:2009-12-01 20:57:24

标签: git graph statistics

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

  • 每位作者提交
  • 每天/每周/每年提交等。
  • 一段时间内的代码行
  • 曲线
  • ......更多

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

11 个答案:

答案 0 :(得分:239)

  

每位作者提交

git shortlog -s -n 

答案 1 :(得分:205)

GitStats提到的xyld git history statistics generator )旁边,用Python编写并要求Gnuplot用于图表,还有

答案 2 :(得分:69)

我正在ruby中执行git存储库统计信息生成器,它被称为git_stats

您可以在project page上找到为某些存储库生成的示例。

以下列出了它可以做的事情:

  • 一般统计数据
    • 文件总数(文字和二进制)
    • 总行数(已添加和删除)
    • 提交总数
    • 作者
  • 活动(总和每位作者)
    • 按日期提交
    • 按小时提交
    • 按星期几提交
    • 按小时提交
    • 按年度提交
    • 按年度提交
    • 按年份和月份提交
  • 作者
    • 作者提交
    • 由作者添加的行
    • 作者删除的行
    • 由作者更改的行
  • 文件和行
    • 按日期
    • 扩展名

如果您有任何想要添加或改进的内容,请告诉我们,我们将不胜感激。

答案 3 :(得分:38)

我试过http://gitstats.sourceforge.net/,开始非常有趣。

完成git clone git://repo.or.cz/gitstats.git后,转到该文件夹​​并说出gitstats <git repo location> <report output folder>(为报告创建一个新文件夹,因为这会生成大量文件)

以下是此内容的快速统计列表:

  • 活性
    • 一天中的小时
    • 一周中的一天
  • 作者
    • 作者名单
    • 月的作者
    • 年度作者
  • 文件
    • 按日期计算的文件数
    • 扩展
  • 线
    • 代码行
  • 标记

答案 4 :(得分:15)

快速谷歌搜索引导我:http://gitstats.sourceforge.net/

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

答案 5 :(得分:4)

如果您更喜欢托管解决方案,则应该查看Open Hub(以前称为Ohloh.net)。这很好,但不要指望大的统计数据。

答案 6 :(得分:4)

如果你的项目在GitHub上,你现在(2013年4月)有 Pulse (参见“Get up to speed with Pulse”):

它更受限制,并且不会显示所有您可能需要的统计信息,但可以随时用于任何GitHub项目。

  

脉冲是发现项目近期活动的好方法    Pulse将向您显示已经积极提交的人以及项目默认分支中已更改的内容

Pulse

  

您可以找到导航栏左侧的链接

Link

请注意,尚未提供用于提取该信息的API。

答案 7 :(得分:4)

只想在此处的答案中添加gitqlite,这是一个命令行工具,可以对git数据(例如SELECT * FROM commits WHERE author_name = 'foo'等)执行SQL查询。

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

答案 8 :(得分:2)

昨天我添加了我的git-analytics docker-compose文件,该文件建立了多个容器,以开始相互分析多个git存储库。

它可以显示您一段时间内关于作者的提交统计信息以及一些差异统计信息。

您可以使用提供的角度客户端以及kibana可视化统计信息。

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

随着时间的流逝,它会得到改善。

Angular Client屏幕截图

Angular Client Screenshot

Kibana客户端截图

Kibana Client Screenshot]

答案 9 :(得分:1)

git-bars可以向您显示“每天/每周/每年/等等的承诺”。

您可以使用pip install git-bars(请参阅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    ▀

答案 10 :(得分:0)

repostat是gitstats工具的增强版。

我不确定它是否与pypi上具有相同名称的项目有任何关系,所以最好的选择是从GitHub下载最新版本并将其安装在Python环境中。

截至2019年11月,在gnuplot在PATH中可用之后,我能够在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)